spring - propertysource - <context: property-placeholder> propiedades no accesibles para el contexto secundario(web)
spring environment getproperty (1)
Un caso de uso típico: tengo applicationContext.xml y dispatcher-servlet.xml . En el contexto principal ( applicationContext.xml ) tengo:
<context:property-placeholder location="classpath:application.properties" />
Sin embargo, las propiedades cargadas por él no son accesibles para el contexto web, ni en xml, ni usando @Value . (Simplemente no se resuelven y la expresión ( ${varName} ) se establece como valor en su lugar)
Lo dispatcher-servlet.xml agregando el <context:property-placeholder> a dispatcher-servlet.xml también, pero me pregunté si:
- Este es el comportamiento esperado.
- No hay una mejor manera de exponer las propiedades al contexto secundario.
Sí, este es un comportamiento esperado. <context:property-placeholder> crea un BeanFactoryPostProcessor que se aplica en base a cada contexto. Por lo tanto, necesitará un postprocesador en el contexto secundario de todos modos.