跟我学springboot(十)springboot配置文件的占位符

1.随机数

比如

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

2.占位符获取之前配置的值,如果没有可以是用:指定默认值

person.hello:helloperson.hellohelloperson.hello=testperson.dog.name= p e r s o n . h e l l o : h e l l o 如 果 p e r s o n . h e l l o 没 有 指 定 值 则 默 认 为 h e l l o , 如 果 在 配 置 文 件 中 指 定 了 p e r s o n . h e l l o = t e s t 则 p e r s o n . d o g . n a m e = {person.hello:hello}_dog在运行时候打印为test_dog

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.hello:hello}_dog
person.dog.age=15

3.运行

@PropertySource(value = {"classpath:person.properties"})
@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;

application.properties

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.hello:hello}_dog
person.dog.age=15
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringBootConfigApplicationTests {

    @Autowired
    Person person;

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

运行结果:

Person{lastName='张三10ee71ca-8ecb-4fab-a4b5-422b54e16d3d', age=-871503876, boss=false, birth=Fri Dec 15 00:00:00 CST 2017, maps={k1=v1, k2=14}, lists=[a, b, c], dog=Dog{name='hello_dog', age=15}}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值