Diese Seite ist hauptsächlich für Ihr eigenes Gedächtnis.
Wenn Sie es sehr grob schreiben, wird es in der folgenden Reihenfolge sein.
Zum Beispiel, wenn Sie die folgende application.yml haben
ymlSetting:
stringKey: "Eine Art Zeichenkette"
mapA:
key1: "value1"
key2: "value2"
Erstellen Sie eine Klasse zum Lesen und Speichern von Werten aus application.yml. Setzen Sie den Schlüssel application.yml auf das Präfix der Annotation "@ConfigurationProperties". Dann können Sie definieren, dass diese Klasse diese Definition liest. (In diesem Beispiel definiert die Setting-Klasse, dass der Einstellungswert unter ymlSetting gelesen wird.)
Jedes definierte Element wird als Elementvariable gespeichert. Das nicht verschachtelte Element (stringKey) ist vom Typ String und Elemente mit untergeordneten Elementen (mapA) können als Maps deklariert werden.
Wenn auf den Wert in der Eigenschaftendatei verwiesen wird, wird auf den Wert mit dem Getter der deklarierten Mitgliedsvariablen verwiesen.
Settings.java
package jp.co.sample;
import java.util.Map;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "ymlSetting")
public class Settings {
private String stringKey;
private Map<String, String> mapA;
public void setStringKey(String stringKey){
this.stringKey = stringKey;
}
public String getStringKey(){
return stringKey;
}
public void setMapA(Map<String, String> mapA){
this.mapA = mapA;
}
public Map<String, String> getMapA(){
return mapA;
}
}
Wenn der Eigenschaftswert beispielsweise standardmäßig ausgegeben wird, sieht er folgendermaßen aus.
SpringBootConfigApplication.java
package jp.co.sample;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringBootConfigApplication implements CommandLineRunner{
@Autowired
private Setting setting; //Klasse zum Lesen von Eigenschaftendateien
public static void main(String[] args) {
SpringApplication.run(SpringBootConfigApplication.class, args);
}
@Override
public void run(String... args) {
System.out.println("string = " + Settings.getStringKey());
System.out.println("key1 = " + Settings.getMapA().get("key1"));
System.out.println("key2 = " + Settings.getMapA().get("key2"));
}
}