接上文
注释掉@ConfigurationProperties使用@Value注解
/** * <bean class="Person"> * <property name="lastName" value="字面量/${key}从环境变量、配置文件中获取值/#{spel}"></property> * <bean/> */ //Spring底层注解 @Value("${person.last-name}") private String lastName; @Value("#{11*2}") private Integer age;
测试可以获取到
- @configurationpropertis @Value
- 功能: 批量注入 一个个指定
- 松散绑定: 支持。last-name等价于lastName 不支持
- SPEL 不支持 支持
- JSR303数据校验 支持。校验在属性中@Email 不支持
- 复杂类型封装 支持 不支持 ${person.dogs}报错
如果只是在某个业务需要获取一下配置文件中的某个值,使用@Value
如果专门编写一个javaBean和配置文件进行映射,就直接用@configurationProperties批量注入