2011-11-26 14 views

risposta

9

C'è una nuova funzionalità @Profile in primavera 3.1 che farebbe il lavoro

Da here

Primavera 3.1 introduce il concetto di profili ambientali. Un caso d'uso comune è l'impostazione di bean diversi tra lo sviluppo , il controllo qualità e gli ambienti di produzione. Un esempio tipico è che va contro un DataSource autonomo in fase di sviluppo rispetto alla ricerca di DataSource da JNDI in produzione. Un altro esempio è un profilo di fagioli per la profilazione che può essere facilmente attivato o disattivato. È possibile aggiungere un attributo profilo su un elemento bean in XML o aggiungere annotazione @Profilo nel codice. Si noti che un bean Spring può essere assegnato a più profili .

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

Questi profili possono essere attivati ​​attraverso la struttura spring.profiles.active che può essere specificato attraverso variabili di ambiente, una proprietà di sistema JVM , un servlet in web.xml o JNDI. Questi profili possono anche essere attivati ​​tramite codice utilizzando Environment.setActiveProfiles (String ...). Per far funzionare i profili bean, gli elementi di nidificazione sono ora consentiti nell'XML di Spring, sebbene vincolato solo alla fine del file. Si noti che si consiglia di mantenere la topologia del bean il più vicino possibile tra gli ambienti, quindi l'applicazione viene testata correttamente in tutti gli ambienti. Inoltre, utilizza il metodo Environment.containsProperty() per cercare le proprietà attraverso le diverse origini di proprietà. Anche questa risoluzione di proprietà funziona per le variabili $ {segnaposto} nelle definizioni dei bean XML.

+0

Se questo è il caso d'uso, segui o commentalo come @Skaffman ha detto –

+0

+1 per questa risposta. I profili rock! –

Problemi correlati