spring - <上下文:property-placeholder> properties not accessible to the child (web) context

标签 spring spring-mvc

一个典型的用例:我有 applicationContext.xmldispatcher-servlet.xml .在父上下文( applicationContext.xml )中,我有:

 <context:property-placeholder location="classpath:application.properties" />

但是,由它加载的属性不能被 web 上下文访问 - 既不是在 xml 中,也不是使用 @Value . (它们只是没有被解析,而是将表达式( ${varName} )设置为值)

我通过添加 <context:property-placeholder> 来解决这个问题至dispatcher-servlet.xml也是,但我想知道是否:

  1. 这是预期行为
  2. 没有更好的方法将属性公开给子上下文。

最佳答案

是的,这是预期的行为。 <context:property-placeholder>创建一个 BeanFactoryPostProcessor这是在每个上下文的基础上应用的。因此,无论如何,您都需要在子上下文中使用后处理器。

关于spring - <上下文:property-placeholder> properties not accessible to the child (web) context,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3816617/

相关文章:

java - Spring Framework MVC 中的 "Webpage has expired"

java - 具有一个 namespace 和本地部分的多个 SOAP 端点

java - DAO 层中的@Cacheable 未被触发(Spring/Redis)

java - 可以将 Jackson 配置为从所有字符串属性中修剪前导/尾随空格吗?

java - 我可以在 Spring bean 定义中使用相对路径吗?

spring - 支持 Apache Tiles 中的动态标题和翻译标题

spring - 有人有 Spring AOP @DeclareParents 示例吗?

java - 可以通过单击 <spring :message>? 提交隐藏输入

spring-mvc - jasperreport html View 中的 nullpx

java - 由 : java. lang.ClassNotFoundException : org. springframework.web.servlet.config.annotation.AsyncSupportConfigurer 引起