比较表格
@ConfigurationProperties | @Value | |
---|---|---|
功能 | 批量注入配置文件种属性 | 一个个指定 |
松散绑定 | 支持 | 不支持 |
SpEl | 不支持 | 支持 |
JSR303 | 支持 | 不支持 |
复杂类型封装 | 支持 | 不支持 |
配置文件 yml 还是 properties 都能获取值,不过 properties 需要设置 FileEncoding 编码为 UTF-8 并且勾选
如果说:只是在某个业务逻辑中需要获取一下配置文件中的某项值,选用 @Value
如果说:专门编写了一个javaBean来和配置文件进行映射,直接使用 @ConfigurationProperties