SpringBoot學習筆記(十四)--配置文件的佔位符

RandomValuePropertySource:配置文件中可以使用隨機數

  • ${random.value}
  • ${random.int}
  • ${random.long}
  • ${random.int(10)}
  • ${random.int[1024,65536]}

屬性配置佔位符

  • 可以在配置文件中引用前面配置過的屬性
  • ${app.name:默認值} 來指定找不到屬性時的默認值

示例 1

配置 application.properties

person.last-name=小明${random.uuid}
person.age=${random.int}
person.birth=2020/6/6
person.boss=false
person.maps.k1=v1
person.maps.k2=14
person.lists=a,b,c
person.dog.name=${person.last-name}_dog
person.dog.age=3

配置 JavaBean 中的 Person

package demo.yangxu.springboot.bean;
@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;
}

編寫測試方法

@Test
void contextLoads() {
    System.out.println(person);
}

運行結果

Person{lastName='小明6987d94a-50e4-4d08-8851-a4b2cd84562a', age=1356037315, boss=false, birth=Sat Jun 06 00:00:00 CST 2020, maps={k1=v1, k2=14}, lists=[a, b, c], dog=Dog{name='小明2130041b-d4f1-44ce-b4de-bd7007276165_dog', age=3}}

示例 2

引用一個從未配置過的屬性

#引用了一個從未配置過的值
person.dog.name=${person.hello}_dog

測試結果

dog=Dog{name='${person.hello}_dog', age=3}

示例 3

引用一個從未配置過的屬性,但爲其指定一個默認值

#引用了一個從未配置過的值
person.dog.name=${person.hello:hello}_dog

測試結果

dog=Dog{name='hello_dog', age=3}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章