spring – 对由property-placeholder创建的属性的编程访问

我正在读取属性文件使用上下文:property-placeholder。如何以编程方式访问它们(@Value不起作用 – 我在开发时不知道产权)?

主要的问题是我不能更改applicationContext.xml文件,因为它是由“父”框架设置

ps。这很奇怪,但是Environment.getProperty返回null

不,你不能。 PropertyPlaceholderConfigurer是一个BeanFactoryPostProcessor,它只是“活的”在bean创建。当遇到$ {property}符号时,它会尝试根据其内部属性来解析它,但它不会使这些属性可用于容器。

也就是说:类似的问题一再出现,建议的解决方案通常是to subclass PropertyPlaceHolderConfigurer,并使属性可手动上下文。或use a PropertiesFactoryBean

http://stackoverflow.com/questions/11415711/programmatic-access-to-properties-created-by-property-placeholder

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:spring – 对由property-placeholder创建的属性的编程访问