Configuration yaml de SpringBoot et commutation multi-environnement

Comment écrire le fichier de configuration yaml

Springboot fournit un fichier de configuration globale, le nom du fichier doit être application et le format peut être properties et yaml \ yam. La recommandation officielle est d'utiliser yaml ou yam. Il existe
deux différences appropriées:
Méthode de stockage du fichier de propriétés:
  clé = valeur
stockage de méthode yaml:
  clé: valeur d'espace

Syntaxe du fichier au format yaml:

yaml stocke une seule valeur (chaîne, numérique, booléenne, etc.)

key: value
注意:一定要注意格式,中间会有一个空格。
双引号不会转义特殊字符 \n就代表了换行
单引号会自动转义特殊字符,会把特殊字符作为字符串输出

yaml stocke les données de format de carte \ de format d'objet

key:
	key1: v1
	key2: v2
例子:map
maps:
	haha: 13
	lala: 24
对象:
person:
	name: 张三
	age: 12

可以转换为行内写法
key: {
    
    key1: v1,key2: v2}
例如:
	person: {
    
    name: 张三,age: 18}
注意格式写法,不要把空格忘了

données de format de tableau yaml:

格式:
key:
	- v1
	- v2
	- v3
	- ...
例子
lists:
	- haha
	- lala
	- papa
行内写法:
key: [v1,v2,v3]
例子:
lists: [haha,lala,papa]

2. L'utilisation de yaml

Les fichiers de configuration générale sont utilisés pour attribuer des valeurs aux propriétés dans javabean. Une fois le fichier de propriétés chargé (vous pouvez également charger le fichier spécifié avec @PropertiesSource (value = "classpath: xxx.properties")), nous pouvons utiliser $ { key} Pour obtenir la valeur de value, notre yaml n'est pas si gênant.

1. Dans le répertoire resources du projet, créez un fichier application.yaml (il sera automatiquement reconnu par springBoot)
Insérez la description de l'image ici
2. Créez un package pojo et créez deux classes d'entités à tester:
Insérez la description de l'image ici
3. Configurez dans le fichier application.yaml:
Insérez la description de l'image ici
springBoot Il chargera automatiquement les propriétés ou le fichier yaml au début de l'application, puis utilisera l'annotation @ConfigurationProperties (prefix = "person") pour faire correspondre la personne dans le fichier yaml, et enfin attribuer des valeurs aux propriétés via le méthode set de la classe d'entité: de
Insérez la description de l'image ici
cette façon nous pouvons Il est pratique d'attribuer des valeurs aux attributs.

3. Résolvez le problème de l'avertissement rouge lors de l'utilisation de l'annotation pour lier le fichier yanl

Insérez la description de l'image ici

Après la liaison, il y aura toujours ce rouge sur la classe d'entité, nous pouvons importer une dépendance, puis la redémarrer pour disparaître

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
</dependency>

4. espace réservé yaml

person:
    name: qinjiang${
    
    random.uuid} # 随机uuid
    age: ${
    
    random.int}  # 随机int
    happy: false
    birth: 2000/01/01
    maps: {
    
    k1: v1,k2: v2}
    lists:
      - code
      - girl
      - music
    dog:
    #如果person.hello存在,就是用person.hello的值,不存在使用other	
      name: ${
    
    person.hello:other}_旺财
      age: 1

5. Conclusion:

Conclusion extraite de: Mad God dit java
Insérez la description de l'image ici




# Commutation multi-environnement et priorité du fichier de configuration ## 1. Méthode 1.yaml de commutation multi-environnement:! [Insérer la description de l'image ici] (https://img-blog.csdnimg.cn/20210116160053845.png?x-oss - process = image / filigrane, type_ZmFuZ3poZW5naGVpdGk, shadow_10, text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzQzMTEyMw ==, size_16, color_FFFFFF, t_70)

Celui ci-dessus est utilisé par défaut. Lorsque nous voulons utiliser d'autres environnements, nous pouvons ajouter par défaut:
Insérez la description de l'image ici

2. Environnement de changement de fichier de propriétés
Il suffit de créer un fichier de configuration par défaut
application.properties.
D'autres environnements peuvent être: application-xxx.properties.
Lorsque nous voulons changer, ajoutez du code dans le fichier application.properties

spring.profiles.active=xxx

Peut remplacer


Emplacement de stockage et priorité des fichiers de configuration

: Le fichier de configuration peut être stocké dans le
cas où le répertoire du projet sous le répertoire de configuration avec le
répertoire racine du projet
sous le répertoire de configuration sous CLASSPATH (Ressources)
le CLASSPATH sous

Lorsque les noms des fichiers de configuration sont identiques, la priorité est:
config sous le répertoire du projet "répertoire racine du projet" répertoire de configuration sous le chemin des classes "sous le chemin des classes

Je suppose que tu aimes

Origine blog.csdn.net/weixin_43431123/article/details/112709349
conseillé
Classement