[英]getProperty() method in java.util not able to recognize keys value variables in ${.} inside springboot's application.properties
我有一个 springboot 应用程序,其中 application.properties 看起来像这样 -
keyA=valueA
keyB=valueB
keyC=${keyA}
所以我知道使用@Value
注解,我可以正确地得到keyC
的值为“valueA”。 但是,我的程序目前正在使用一个只读文件,其中getProperty()
方法将keyC
的值返回为“${keyA}”而不是“valueA”。
示例代码
只读
public String getPropertyValue(String prop){
FileReader reader = new FileReader("app.properties");
Properties p = new Properties();
p.load(reader);
System.out.println(p.getProperty(prop));
}
getPropertyValue("keyC");
Output
${keyA}
我将无法修改只读文件。 我想知道是否有任何合适的替代方法可以在 application.properties 中添加${keyA}
之类的变量,以便getPropertyValue
方法可以识别它。 任何帮助将不胜感激,谢谢。
您必须自己对属性进行后处理,将键名与模式“^${(.*)}$”匹配的所有值替换为作为模式组 1 的键的相应值。 (注意 the.properties 中可能存在错误的值交叉引用...这可能会导致无限循环...)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.