Cette page est principalement destinée à votre propre mémoire.
Si vous l'écrivez très grossièrement, ce sera dans l'ordre suivant.
Par exemple, si vous avez l'application suivante.yml
ymlSetting:
stringKey: "Une sorte de chaîne de caractères"
mapA:
key1: "value1"
key2: "value2"
Créez une classe pour lire et stocker les valeurs de application.yml. Définissez la clé application.yml sur le préfixe de l'annotation «@ConfigurationProperties». Ensuite, vous pouvez définir que cette classe lira cette définition. (Dans l'exemple, la classe Setting définit que la valeur de paramètre sous ymlSetting est lue.)
Chaque élément défini est stocké en tant que variable membre. L'élément non imbriqué (stringKey) est de type String et Les éléments avec des éléments enfants (mapA) peuvent être déclarés en tant que Maps.
Lors du référencement de la valeur dans le fichier de propriétés, la valeur sera référencée à l'aide du Getter de la variable membre déclarée.
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;
}
}
Par exemple, lorsque la valeur de la propriété est sortie en standard, elle ressemble à ceci.
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; //Classe de lecture de fichier de propriété
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"));
}
}