2010-09-28 13 views
17

Un tipico caso d'uso: sto avendo applicationContext.xml e dispatcher-servlet.xml. Nel contesto genitore (applicationContext.xml) ho:<contesto: proprietà-segnaposto> proprietà non accessibili al contesto figlio (web)

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

Tuttavia, le proprietà caricate da essa non sono accessibili al contesto web - né in XML, né utilizzando @Value. (Sono solo non risolti e l'espressione (${varName}) è impostato come valore invece)

ho lavorato intorno aggiungendo la <context:property-placeholder> a dispatcher-servlet.xml pure, ma mi chiedevo se:

  1. Questo è il comportamento previsto
  2. Non esiste un modo migliore per esporre le proprietà al contesto secondario.

risposta

16

Sì, questo è un comportamento previsto. <context:property-placeholder> crea un BeanFactoryPostProcessor che viene applicato in base al contesto. Quindi, avrai comunque bisogno di un postprocessore nel contesto infantile.

Problemi correlati