代码之家  ›  专栏  ›  技术社区  ›  Bozho

<context:property placeholder>properties not accessible to the child(web)context

  •  17
  • Bozho  · 技术社区  · 15 年前

    一个典型的用例:我正在 applicationContext.xml dispatcher-servlet.xml . 在父上下文中( 应用程序上下文.xml 我有:

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

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

    我通过添加 <context:property-placeholder> 调度程序-servlet.xml 但我想知道:

    1. 这是预期行为
    2. 没有更好的方法向子上下文公开属性。
    1 回复  |  直到 15 年前
        1
  •  16
  •   axtavt    15 年前

    是的,这是一种预期行为。 <context:property-placeholder> 创建一个 BeanFactoryPostProcessor 根据上下文应用。所以,无论如何,您需要在子上下文中有一个后处理器。