2012-05-16 8 views
12

Quiero usar mis constantes de aplicación dentro de la configuración spring xml.¿Cuál es la mejor manera de usar las constantes de la aplicación en la configuración Spring Xml?

sé hacer eso con la primavera SPEL con algo como esto:

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

Por lo tanto, hay una mejor manera de hacer esto?

+0

Tal vez me haya perdido algo, pero ¿por qué tener constante en clase y no en el archivo de la propiedad? – Betlista

Respuesta

28

Usted podría utilizar <util:constant> (Ver C.2.2 The util schema):

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

Es discutible si eso es mejor, sin embargo. Su versión de SpEL es más sucinta.

Otra opción es utilizar el estilo de configuración de Java, que es más natural (ver 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

Pero su versión es más amigable para los seres humanos – richarbernal

+0

@richarbernal: Punto justo – skaffman

Cuestiones relacionadas