Heim >Java >javaLernprogramm >Wie kann auf Attributvariablen in der Springboot-Konfigurationsdatei verwiesen werden?
Die Art und Weise, dieses Attribut anzuwenden, ist field_name=@field_value@.
Die beiden @-Symbole werden von Springboot generiert, um den Attributplatzhalter ${} zu ersetzen. Der Grund dafür ist, dass ${} von Maven verarbeitet wird und daher nicht in der Lage sein sollte, auf Variablen zu verweisen.
@@-Methode kann auf Variablen in Springboot-Nicht-Standardkonfigurationsdateien verweisen (d. h. andere Konfigurationsdateien);
Springboot-Standardkonfigurationsdatei ist src/main/resources/application.properties
Konfigurieren Sie einfach die spring.profiles.active-Eigenschaft in application.properties direkt, um die Umgebung zu differenzieren.
${} und @@ sind beide Arten, wie Springboot auf Attributvariablen verweist.
1) Die am häufigsten verwendete Verwendung von ${}
besteht darin, die Versionsnummer in der POM-Datei zu konfigurieren, z. B. wie folgt:
<properties> <swagger.version>2.8.0</swagger.version> </properties> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>${swagger.version}</version> </dependency>
und in der Konfigurationsdatei Oder die Zuweisungsoperation in der .sh-Datei, wie zum Beispiel die folgende:
IMAGES_NAME=brain-health-openplatform CONTAINER_NAME=brain-health-openplatform APP_PORT=7701 APP_HOME=/home/admin/brain-health-openplatform #启动容器 docker run -d --name ${CONTAINER_NAME} -p ${APP_PORT}:${APP_PORT} -v ${APP_HOME}/logs:/logs ${CONTAINER_NAME}
2) Die Verwendung von @@
@@ wird häufig verwendet, um auf Variablen in nicht standardmäßigen Springboot-Konfigurationsdateien (d. h. anderen Konfigurationsdateien) zu verweisen ), der durch springboot ersetzt wird. Der Attributplatzhalter wird generiert, weil der {}-Attributplatzhalter generiert wird. Der Grund dafür ist, dass {} von Maven verarbeitet wird und daher nicht als Referenzvariable fungiert, wenn auf eine nicht standardmäßige Konfiguration verwiesen wird Datei.
In unserem Projekt spielt YML beispielsweise eine allgemeine Rolle und fügt unterschiedliche Werte über die Konfigurationsdateien der vier Umgebungen ein. Ich habe das Gefühl, dass der Effekt derselbe ist wie bei den ursprünglichen Produkt- und Testordnern.
3) @@Gewöhnlichen Wert einführen
Tatsächlich war meine erste Frage nicht, wie man injiziert, sondern ob die Injektionen im Projekt alle Eigentumsverhältnisse haben, z. B. Zugehörigkeit zu Server/Spring oder Mybatis oder Protokollierung usw. Ich möchte also einen gemeinsamen Linkpfad konfigurieren. Wie soll ich das tun?
Tatsächlich ist es kompliziert. Sie müssen nur den Schlüssel in den Eigenschaften direkt in die YML-Datei kopieren, und schon wird automatisch ein Schlüssel-Wert-Paar gebildet.
# properties文件中: customer.brain.training=XXX brain.training.report=XXX train.path.source=XXX
# yml文件中的注入 customer: brain: training: @customer.brain.training@ brain: training: report: @brain.training.report@ train: path: source: @train.path.source@rrree
Das obige ist der detaillierte Inhalt vonWie kann auf Attributvariablen in der Springboot-Konfigurationsdatei verwiesen werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!