YAMLプロファイル構文


SpringBootはアプリケーションを使用します.propertiesまたはapplication.ymlファイルはグローバルプロファイル(ファイル名は固定)としてSpringBoot自動構成のデフォルト値を変更するために使用され、本編では主にymlプロファイルの構文を整理します.
一、YAML紹介
YAML(YAML Ain’t Markup Language)YAML A Markup Language:タグ言語YAML isn’t Markup Language:タグ言語ではありません;
タグ言語:YAML:データ中心で、json、xmlなどよりプロファイルに適しています.YAML:コンフィギュレーション例は以前のxmlファイルに比べてymlコンフィギュレーションファイルの構文が簡潔で、多くの開始終了ラベルを省くことができますが、ymlコンフィギュレーションファイルはスペースに対する要求が厳しく、同じインデント下の内容は同じレベルの属性と考えられています.また、コンフィギュレーション値の先頭にスペースを追加する必要があります.
server:
  port: 8081

​ XML:
<server>
	<port>8081port>
server>

二、YAML文法:
1、基本文法
k:(スペース)v:一対のキー値ペア(スペースが必要)を表す.
スペースのインデントで階層関係を制御します.左揃えのデータ列であれば、同じレベルです.
server:
    port: 8081
    path: /hello

属性と値も大文字と小文字に敏感です.
2、値の書き方
(1)字面量:普通の値(数字、文字列、ブール)
k:v:字面は直接書きます;
文字列のデフォルトでは、一重引用符または二重引用符を付ける必要はありません.
""":二重引用符;文字列の中の特殊な文字はエスケープされません.特殊文字は自分が表現したい意味になります
name:「zhangsan lisi」:出力;zhangsan改行lisi
'’:一重引用符;特殊文字がエスケープされ、特殊文字は最終的には普通の文字列データにすぎません
name:‘zhangsan lisi’:出力;zhangsan lisi
(2)オブジェクト、Map(属性と値):
k:v:次の行にオブジェクトの属性と値の関係を書きます.注意インデント
オブジェクトはk:vの方法です
friends:
		lastName: zhangsan
		age: 20

行内の書き方:
friends: {
     lastName: zhangsan,age: 18}

(3)集合(List,Set):
-(スペース)値を使用して、配列内の要素を表します.
pets:
 - cat
 - dog
 - pig

行内の書き方
pets: [cat,dog,pig]

3、ymlプロファイルでjavaBean注入値
プロファイル
person:
    lastName: hello
    age: 18
    boss: false
    birth: 2017/12/12
    maps: {
     k1: v1,k2: 12}
    lists:
      - lisi
      - zhaoliu
    dog:
      name:   
      age: 12

javaBean:
/**
 *                 ,        
 * @ConfigurationProperties:  SpringBoot                        ;
 *      prefix = "person":     person             
 *
 *@Component:         ,             ,        @ConfigurationProperties  ;
 *
 */
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
     

    private String lastName;
    private Integer age;
    private Boolean boss;
    private Date birth;

    private Map<String,Object> maps;
    private List<Object> lists;
    private Dog dog;


4、ymlプロファイルで構成する場合、自動的に提示される解決方法はありません.
pom.xmlに依存を追加する:プロファイルプロセッサ、後でymlプロファイルを書くとヒントがあります

		<dependency>
			<groupId>org.springframework.bootgroupId>
			<artifactId>spring-boot-configuration-processorartifactId>
			<optional>trueoptional>
		dependency>