2012-05-16 12 views
12

Desidero utilizzare le costanti dell'applicazione nella configurazione xml di primavera.qual è il modo migliore per utilizzare le costanti dell'applicazione nella configurazione di primavera xml?

so di farlo con la molla SPEL con qualcosa di simile:

<bean class="example.SomeBean"> 
    <property name="anyProperty" value="#{ T(example.AppConfiguration).EXAMPLE_CONSTANT}" /> 
    <!-- Other config --> 
</bean> 

Quindi, c'è un modo migliore per fare questo?

+0

Forse ho perso qualcosa, ma perché ad avere costante della classe e non in file di proprietà? – Betlista

risposta

28

Si potrebbe utilizzare <util:constant> (Vedi C.2.2 The util schema):

<bean class="example.SomeBean"> 
    <property name="anyProperty"> 
     <util:constant static-field="example.AppConfiguration.EXAMPLE_CONSTANT" /> 
    </property> 
</bean> 

E 'discutibile sul fatto che è meglio, però. La tua versione di SpEL è più succinta.

Un'altra opzione è quella di utilizzare lo stile di configurazione di Java, che è più naturale (vedi 4.12 Java-based container configuration):

@Bean 
public SomeBean myBean() { 
    SomeBean bean = new SomeBean(); 
    bean.setProperty(EXAMPLE_CONSTANT); // using a static import 
    return bean; 
} 
+1

Ma la tua versione è più umana-friendly – richarbernal

+0

@richarbernal: Fair point – skaffman

Problemi correlati