java - 设置 @Value 以使用 @ConfigurationProperties 前缀
问题描述
我正在使用具有以下值的属性文件:
com.abc.cpuUtilization.okThreshold = 0.5
我想使用以下配置类:
@Component
@ConfigurationProperties(prefix="com.abc")
public class SystemConfiguration{
@Value("${cpuUtilization.okThreshold}")
private Double cpuUtilizationOkThreshold;
// getters and setters of cpuUtilizationOkThreshold
}
}
但我得到一个例外Could not resolve placeholder 'cpuUtilization.okThreshold'
当设置@Value
为:"${com.abc.cpuUtilization.okThreshold}"
它可以工作,但它使代码看起来丑陋和繁琐。
有没有办法配置这个类,所以我不必为@Value
注释写整个前缀?
解决方案
正如 thepaoloboi 所说,@ConfigurationProperties(prefix="com.abc") 注释将允许您通过字段名称绑定字段。如果您指定前缀“com.abc”并且您有一个名为“cpuUtilization”的变量,则该变量的值将是“com.abc.cpuUtilization”属性的值。
@Value 注释获取具有完全相同名称的属性。@Value("${cpuUtilization.threshold}") 将获取具有该确切名称的属性。它不考虑前缀。
推荐阅读
- arrays - Jolt 将元素从子数组传递到父数组
- amazon-dynamodb - 查询范围内的 DynamoDb 时间戳数据
- python - plt.plot (rr,xlogistic) 在程序中的什么位置?我是 Python 新手
- c - 递归和遍历二叉树
- php - 如何获取在 Wordpress 帖子中上传的文件的附件 ID?
- angular - @output 在 Angular 10 中没有发出结果
- c++ - C++ 手动展开(条件和)比常规代码慢,期待 AVX 矢量化
- java - FileReader “吃掉”每个首字母
- c# - 使用值和键对 C# 映射进行排序
- python - 如何通过其他python脚本附加列表?