1、配置文件中可以使用随机数
${random.value} ${random.int} ${random.long} ${random.int(10)} ${random.int[1024,65535]} ${random.uuid}
2、属性配置占位符
占位符获取之前配置的值,如果没有可以使用 : 指定默认值
app.name=MyApp
app.description=${app.name} is a Spring Boot application
可以在配置文件中引用前面配置过的属性
${app.name:默认值}来指定找不到属性时的默认值
3、
注释掉Person类中的@PropertySource(value = {"classpath:person.properties"})配置并放开application.properties中的person对象注释做如下修改
person.last-name=张三${random.uuid}
person.age=${random.int}
person.birth=2017/12/15
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=15
运行SpringBoot01HelloworldQuickApplicationTests测试类下的contextLoads方法
控制台输出
Person{lastName='张三f644bcb3-668c-40c0-b24b-e4f094f9d6f1', age=1057186354, boss=false, birth=Fri Dec 15 00:00:00 CST 2017, maps={k1=v1, k2=14}, lists=[a, b, c], dog=Dog{name='张三5a2768d8-b852-412e-b2f8-41985270b19b_dog', age=15}}
如果修改person.dog.name配置为
person.dog.name=${person.hello}_dog
因为person.hello属性之前没有配置过,所以默认当作一个字符串输出
:添加默认值
person.dog.name=${person.hello:hello}_dog