对由属性占位符创建的属性的编程访问
我正在使用读取属性文件context:property-placeholder
。如何以编程方式访问它们(@Value
不起作用-开发时我不知道产权)?
主要问题是我无法更改applicationContext.xml
文件,因为它是由“父”框架设置的
ps。很奇怪,但是Environment.getProperty
回来了null
回答:
PropertyPlaceholderConfigurer
是一个BeanFactoryPostProcessor
,在bean创建过程中仅是“活动的”。遇到${property}
符号时,它将尝试根据其内部属性来解决该问题,但不会使这些属性对容器可用。
就是说:类似的问题一遍又一遍地出现,建议的解决方案通常是子类化PropertyPlaceHolderConfigurer
,并使Properties手动提供给上下文。或使用PropertiesFactoryBean
以上是 对由属性占位符创建的属性的编程访问 的全部内容, 来源链接: utcz.com/qa/401586.html