Java Spring如何在字符串中插入${x}?
我在Spring项目中有一个java类,它看起来(经过编辑)像:Java Spring如何在字符串中插入${x}?,java,spring,string-interpolation,Java,Spring,String Interpolation,我在Spring项目中有一个java类,它看起来(经过编辑)像: 我正在寻找解释${PATH}如何在字符串参数中插值的引用。路径作为一个系统属性(java-DPATH=…)传递,因此我假设它从这里开始,但我找不到描述该机制的解释。它是一个与Spring相关的功能,类似于@Value中使用的语法吗?configLocations(typeString)传递给一个构造函数的位置由从类继承的方法处理 resolvePath()文档说明: 解析给定路径,必要时用相应的环境属性值替换占位符。应用于配置位置
我正在寻找解释${PATH}如何在字符串参数中插值的引用。路径作为一个系统属性(java-DPATH=…)传递,因此我假设它从这里开始,但我找不到描述该机制的解释。它是一个与Spring相关的功能,类似于@Value中使用的语法吗?
configLocations
(typeString
)传递给一个构造函数的位置由从类继承的方法处理
resolvePath()
文档说明:
解析给定路径,必要时用相应的环境属性值替换占位符。应用于配置位置
另请参见:resolveRequiredPlaceholders()
文档说明:
解析给定文本中的占位符${…}
并用解析的相应属性值替换它们。不带默认值的不可解析占位符将被忽略并原封不动地传递
声明getProperty()
方法实际上是一个
StandardEnvironment
文档说明:
适用于“标准”(即非web)应用程序的实现
除了属性解析和配置文件相关操作等常规功能外,此实现还配置了两个默认属性源,将按以下顺序进行搜索:
在没有系统属性的情况下启动会出现异常:
无法解析值“file:${PATH}/ApplicationContext.xml”中的占位符“PATH”在org.springframework.context.annotation.ConfigurationClassParser上,它与Spring相关,但我在Spring文档中仍然没有找到这方面的信息。所有这些都只能通过检查源代码来理解,文档严重缺乏。
@Component
public class X
{
private static final ApplicationContext CTX = new FileSystemXmlApplicationContext("file:${PATH}/ApplicationContext.xml");
...