server: port: 8081 spring: #這是註釋 datasource: url: jdbc:oracle:thin:@localhost:1521:orcl driver-class-name: oracle.jdbc.driver.OracleDriver username: ABC password: ABC
yml支持如下數據類型spring
屬性設置:json
property: #字符串通常狀況下不須要使用引號 str0: 字符串 #使用雙引號時 str1: "特殊轉移字符\n被雙引\t號包含時" #使用單引號時 str2: '特殊轉移字符\n被單引\t號包\r含時' num: 3.25 #數字 bool: true #布爾值 date: 2021/03/03 #日期 time: 2021/03/03 17:12:35 # 時間 birth: 2021-03-03 17:12:35
實體類:數組
@Component @ConfigurationProperties(prefix = "property") public class PropertyObject { private String str0; private String str1; private String str2; private String str3; private BigDecimal num; private boolean bool; private Date date; private Date time; @JsonFormat(timezone = "GMT+8",pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private LocalDateTime birth; }
輸出:oracle
{"str0":"字符串","str1":"特殊轉移字符\n被雙引\t號包含時","str2":"特殊轉移字符\\n被單引\\t號包\\r含時","str3":null,"num":3.25,"bool":true,"date":"2021-03-02T16:00:00.000+00:00","time":"2021-03-03T09:12:35.000+00:00","birth":"2021-03-03 17:12:35"}
屬性設置:url
property: #數組 多行寫法,以 「- 值」 表示一個元素 ints: - 1 - 2 - 3 - 4 # 數組,單行寫法,與正常初始化一個數組同樣 strings: [abc,err,ok] list: [123,654,3.25,euuu] set: - abc - yue - ok
實體類:scala
@Component @ConfigurationProperties(prefix = "property") public class PropertyObject { private int[] ints; private String[] strings; private List list; private Set set; }
輸出:code
{"ints":[1,2,3,4],"strings":["abc","err","ok"],"list":[123,654,3.25,"euuu"],"set":["abc","yue","ok"]}
屬性設置:orm
property: #單行寫法 map: {abc: abc,sks: 123} #多行寫法 person: name: 張三 age: 25 people: - {name: lisi,age: 13} - {name: 金士頓,age: 24}
實體類:server
@Component @ConfigurationProperties(prefix = "property") public class PropertyObject { private Map map; private Person person; private List<Person> people; }
輸出:對象
{"map":{"abc":"abc","sks":123},"person":{"name":"張三","age":25},"people":[{"name":"lisi","age":13},{"name":"金士頓","age":24}]}
yml能夠經過 & 錨點和 ***** 別名,實現值引用
& 用來創建錨點(defaults),<< 表示合併到當前數據,***** 用來引用錨點。
屬性設置:
property: person: &zhangsan name: 張三 age: 25 person2: &p2 <<: *zhangsan people: - {name: lisi,age: 13} - {name: 金士頓,age: 24} - <<: *zhangsan - <<: *p2
實體類:
@Component @ConfigurationProperties(prefix = "property") public class PropertyObject { private Person person; private Person person2; private List<Person> people; }
輸出:
{"person":{"name":"張三","age":25,"list":null},"person2":{"name":"張三","age":25,"list":null},"people":[{"name":"lisi","age":13,"list":null},{"name":"金士頓","age":24,"list":null},{"name":"張三","age":25,"list":null},{"name":"張三","age":25,"list":null}]}