Tengo tres aplicaciones en un proyecto administrado de Spring 2.5 que comparten algún código y difieren en los detalles.Inyectar una propiedad externa en el contexto de Spring
Cada aplicación tiene una propiedad (java.lang.String
) que se utiliza antes de compilar el contexto de la aplicación.
Crear el contexto de la aplicación lleva tiempo y no puede suceder primero. Como tal, está definido en cada aplicación individual. Esta propiedad está duplicada en la definición del contexto, ya que también se necesita allí. ¿Puedo deshacerme de esa duplicación?
¿Es posible inyectar esa propiedad en el contexto de mi aplicación?
Sin embargo, no puedo usar mi, por ejemplo 'private String appName = ...', en el contexto de la aplicación como una propiedad para algunos beans, ¿o sí? – DerMike
No, ya que esa es la sintaxis de Java, y el contexto de la aplicación es un archivo XML. Si tiene un archivo de propiedad y contiene la propiedad para appName, por ejemplo, 'appName = MyApp', puede referirse a' $ myPrefix {appName} 'una vez que se configure el PropertyPlaceholderConfigurer, y eso (en este caso) se resolvería a 'MyApp'. –
Esperaba encontrar algo como 'ctx.addBean (String.class, appName)' en el mejor de los casos. – DerMike