配置文件yml还是properties他们都能获取到值;如果说,我们只是在某个业务逻辑中需要获取一下配置文件中的某项值,使用@Value;如果说,我们专门编写了一个javaBean来和配置文件进行映射,我们就直接使用@ConfigurationProperties;
1.功能
使用@Value来代替@ConfigurationProperties也是可以的
2.松散绑定
在application.properties中:
1 person.last-name=张三
如果不支持松散绑定,那么Person.java中必须写成
1 @Value("${person.last-name}")
如果支持松散绑定,那么在application.properties中:
1 person.lastName=张三
1 person.last_name=张三
都是没有问题的。
3.SpEL
如果支持Spring Expression Language,那么application.properties中可以出现
1 person.age=#{11*2}
事实上这就相当于
1 person.age=22
4.JSR303校验
如果要求age变量必须是邮件格式,可以向Person类中加入@Validated以及@Email。那么此时application.properties中的age必须满足邮件格式才可以。
5.复杂类型封装
这里的复杂类型指的是诸如maps等类型。
原文地址:https://www.cnblogs.com/yangyh26/p/12269006.html
时间: 2024-11-25 20:32:31