YAML 語言
阿新 • • 發佈:2018-06-04
lists 層級關系 frame HA group 布爾 lse 介紹 name 4.
1. YAML 介紹
- YAML:以數據為中心,比JSON,XML更適合做配置文件;
//示例:
server:
port: 8081 //此處有空格
2. YAML 基本語法
- 使用縮進表示層級關系;
- 縮進時,不允許使用Tab鍵,只允許使用空格;
- 縮進的空格數目不重要,只有相同層級的元素左側對齊即可;
- 大小寫敏感;
3. YAML 支持的三種數據結構
- 對象:鍵值對的集合;
- 數組:一組按次序排列的值;
- 字面量(數字,字符串,布爾):單個的,不可再分的值;
- 字符串默認不用加上單引號或雙引號;
- 雙引號,默認不會轉義字符串裏面的特殊字符;
- 單引號,會轉義特殊字符,特殊字符最終只是一個普通的字符串數據;
// 編寫application.yml配置文件 server: port: 8081 person: lastName: zhangsan age: 18 boss: false birth: 2008/8/8 maps: {k1: v1, k2: v2} lists: - zhaoliu - lisi dog: name: 魯亞 age: 12 // 實體類 public class Dog{ private String name; private Integer age; // 省略 getter,setter,toString } /** * @ConfigurationProperties 將本類中的所有屬性和配置文件中相關配置進行綁定 * prefix = "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; // 省略 getter,setter,toString } // pom.xml 中導入配置文件處理器 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>
4. properties
配置文件
# application.properties
# 配置person的值
person.lastName=張三
person.age=18
person.birth=2018/5/3
person.boss=false
person.maps.k1=v1
person.maps.k2=v2
person.lists=a,b,c
person.dog.name=xiaohua
person.dog.age=11
參考資料:
- Spring Boot 全集
YAML 語言