Un, yaml
Spring boot utilise un fichier de configuration global, qui est corrigé. Ce peut être application.xml ou application.yaml, placé dans le répertoire / resources ou / config
- yaml: est un langage de balisage, centré sur les données, plus adapté aux fichiers de configuration que xml et json
- Exemple de configuration XML:
<server>
<port> 8081</port>
</server>
- exemple de configuration yml:
server:
port: 8085
path: /hello
2. écriture yaml
Syntaxe de référence: https://bitbucket.org/asomov/snakeyaml/wiki/Documentation#markdown-header-yamlsyntax
Variables littérales: valeur unique, indivisible (nombre, chaîne, booléen, date)
Objet, carte (clé: paire valeur-clé):
person:
name: tom
age: 18
personMap:
username: herry
age: 20
person:{name: tom,age: 18}
Tableau: liste, ensemble
ainamals:
- dog
- cat
- snack
animals:[dog,cat,snack]
Trois, test yaml
1. Importez le processeur de fichier de configuration, il y aura une invite lors de l'écriture de la configuration
<!-- 导入文件处理器,配置文件进行绑定的时候,就会有提示-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
2. haricot java
public class Dog {
private String name;
private Integer age;
}
/**
* 将配置文件中的每一个值,映射到这个组件中
*@ConfigurationProperties: 此注解表示告诉sprigboot将本类中的
* 所有属性和配置文件中相关配置进行一一绑定
*prefix = "person" :配置文件中的哪个进行绑定
*@Component: 只有是容器中的组件才会作用
*
*/
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
private String name;
private Integer age;
private Boolean boss;
private Date birthday;
private Map<String,Object> map;
private List<Object> list;
private Dog dog;
}
3. Injection de fichier de configuration
application.yml
person:
name: tom
age: 17
boss: true
birthday: 2018/01/12
map:
k1: v1
k2: v2
list:
- cat
- fish
- dog
dog:
name: goodboy
age: 3
application.properties
#配置properties属性
# idea properties默认是utf-8
person.name=tim
person.age=16
person.boss=false
person.birthday=2014/11/23
person.map.k1=v1
person.map.k2=22
person.list=cat,dog,fish
person.dog.name=goodboy
person.dog.age=3
4. Testez la classe, démarrez-la et observez si la console imprime
/**
* Spring boot 单元测试
*
*/
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringbootHelloworldQuickApplicationTests {
@Autowired
Person person;
@Test
public void contextLoads() {
System.out.println(person);
}
}
L'utf-8 par défaut du fichier de configuration des propriétés dans idea peut être déformé
- Référence grammaticale et adresse de vérification: http://www.yaml.org/ https://nodeca.github.io/js-yaml/
-
Deux, spécification de la syntaxe yaml
1. Grammaire de base de yaml
- Utiliser l'indentation pour indiquer les relations hiérarchiques
- La touche Tab n'est pas autorisée lors de l'indentation, seuls les espaces sont autorisés. Espaces pour contrôler la hiérarchie
- k: ( espace ) v: représente une paire de paires clé-valeur (des espaces doivent être présents );
- Le nombre d'espaces en retrait n'est pas important, tant que les éléments du même niveau sont alignés à gauche
- Sensible aux majuscules et minuscules
- k: v: écrire directement littéralement
- Chaîne:
ne pas ajouter de guillemets simples ou doubles
"": les guillemets doubles n'échappent pas aux caractères spéciaux de la chaîne, les caractères spéciaux exprimeront leur propre signification. Par exemple, "Li" Li Si \ n 20 ans "Sortie: Li Si enveloppe 20 ans
'': guillemets simples; les caractères spéciaux seront échappés et les caractères spéciaux ne sont en fin de compte que des chaînes de caractères ordinaires. Comme" Li "Li Si \ n 20 Années "Sortie: Li Si \ n 20 ans- Fichier: plusieurs fichiers sont séparés par ---
- L'objet est clé: valeur, séparé par deux points
- Utilisez un espace après les deux points pour séparer la valeur de clé
- Écriture en ligne:
- - représente un élément du tableau
- Tableaux et objets et utilisation combinée
- Écriture en ligne