什么是在spring xml配置中使用应用程序常量的最佳方法?

时间:2012-05-16 13:38:35

标签: java spring constants spring-el

我想在spring xml配置中使用我的应用程序常量。

我知道使用Spring SpEl做到这一点:

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

那么,有没有更好的方法呢?

1 个答案:

答案 0 :(得分:28)

您可以使用<util:constant>(请参阅C.2.2 The util schema):

<bean class="example.SomeBean">
    <property name="anyProperty">
       <util:constant static-field="example.AppConfiguration.EXAMPLE_CONSTANT" />
    </property>
</bean>
但是,关于这是否更好,这是值得商榷的。您的SpEL版本更简洁。

另一个选择是使用Java配置样式,这更自然(参见4.12 Java-based container configuration):

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