2011-11-26 20 views

Respuesta

9

hay una nueva característica en la primavera de @Profile 3.1 que haría el trabajo

De here

Primavera 3.1 introduce el concepto de perfiles de entorno. Un caso de uso común es la configuración de beans que son diferentes entre desarrollo, control de calidad y entornos de producción. Un ejemplo típico es yendo en contra de un DataSource independiente en desarrollo versus buscando el DataSource de JNDI en producción. Otro ejemplo es un perfil de frijoles para crear perfiles que se puede activar o desactivar fácilmente. Puede agregar un atributo de perfil en un elemento beans en XML o agregar @Profile anotación en el código. Tenga en cuenta que un bean Spring se puede asignar a perfiles múltiples.

<beans profile="dev"> 
    ... 
</beans> 
@Profile("dev") 
public class Bean { 
    ... 
} 

Estos perfiles se pueden activar a través de la propiedad spring.profiles.active que puede ser especificada a través de una variable de entorno, una propiedad del sistema JVM , un Servlet en web.xml o JNDI. Estos perfiles también se pueden activar a través del código usando Environment.setActiveProfiles (String ...). Para hacer que los perfiles de bean funcionen, los elementos de beans anidados ahora están permitidos en Spring XML, aunque está restringido solo al final del archivo. Tenga en cuenta que se recomienda mantener su topología de bean lo más cerca posible entre entornos, por lo que su aplicación se prueba adecuadamente en todos los entornos. También usa el método Environment.containsProperty() para buscar las propiedades en las diferentes fuentes de propiedad. Esta resolución de propiedad también funciona para las variables $ {placeholder} en las definiciones de bean XML.

+0

Si este es el caso de uso, siga o simplemente coméntelo como @Skaffman dijo –

+0

+1 para esta respuesta. Perfiles de rock! –

Cuestiones relacionadas