总结
如果说,我们只是在某个业务逻辑中需要获取一下配置文件中的某个项值,使用@Value
如果说,我们专门编写了一个JavaBean来和配置文件进行映射,我们就直接使用@ConfigurationProperties
@ConfigurationProperties 被注解的类还需要 @Component 注,否则使用的时候找不到
案例(@ConfigurationProperties)
limit: minMoney: 0.01 maxMoney: 9999 description: 最少要发${limit.minMoney}元, 最多${limit.maxMoney}元
package com.imooc.luckymoney; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; import java.math.BigDecimal; @Component @ConfigurationProperties(prefix = "limit") public class LimitConfig { private BigDecimal minMoney; private BigDecimal maxMoney; private String description; public BigDecimal getMinMoney() { return minMoney; } public void setMinMoney(BigDecimal minMoney) { this.minMoney = minMoney; } public BigDecimal getMaxMoney() { return maxMoney; } public void setMaxMoney(BigDecimal maxMoney) { this.maxMoney = maxMoney; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } }
- 这里的属性名和yml里的必须要一致。