一个典型的用例:我有applicationContext.xml
和dispatcher-servlet.xml
。在父上下文(applicationContext.xml
)中,我有:
<context:property-placeholder location="classpath:application.properties" />
但是,Web上下文无法访问由其加载的属性 - 无论是在xml中还是在使用@Value
。 (它们只是没有解决,表达式(${varName}
)被设置为值)
我通过将<context:property-placeholder>
添加到dispatcher-servlet.xml
来解决这个问题,但我想知道是否:
答案 0 :(得分:16)
是的,这是预期的行为。 <context:property-placeholder>
创建一个BeanFactoryPostProcessor
,根据每个上下文应用。因此,无论如何,您将需要在子上下文中使用后处理器。