1、yml 基本語法
k: v:表示一對鍵值對(冒號與V之間有空格)
以空格的縮進來控制層級關系,只要是左對齊的一列數據,都是同一個層級的
server: port: 8088 address: "www.baid.com"
屬性和值都是大小寫敏感的
2、值的寫法
字面量:普通的值(數字、字符串,布爾)
k: v:字面直接來寫
字符串默認不用加上引號或者雙引號
“” 雙引號;不會轉義字條串里面的特殊字符;特殊字符會作為本身想表示的意思
name: "張三 \n lisi“ ;輸出:張三 換行 lisi
對象、Map(屬性和值)(鍵值對):
k: v:
對象還是k: v的方式
friends:
last_name: wang
first_name: gang
還有一種行內寫法:
friends: {last_name: wang,first_name: gang}
數組(List、Set):
用”-“表示數組中的一個元素
pets: - cat - dog - pig
也有行內寫法:
pets: [pig,cat,dog]
3、配置文件注入:
yml配置文件格式
person: lastName: 張三 age: 19 boss: false birth: 2010/05/02 maps: {k1:va,k2:v2} lists: - lisi - wangwu - zhaoliu dog: name: 小愛 age: 5
javaBean
/** * @Description 將配置文件中的配置的每一個屬性映射到這個組件中 * @ConfigurationProperties:告訴SpringBoot將本類中的所有屬性和配置文件中相關的配置進行綁定 * prefix = "person":配置文件中那個下面的所有屬性進行一一映射 * * 只有這個組件是容器中的組件,才能容器提供的@ConfigurationProperties功能 * * @Author liuxh * @Date 2020/4/30 10:58 **/ @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; }
我們可以導入配置文件處理器,以后編寫配置就有提示了
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>