каков наилучший способ использования констант приложения в конфигурации spring xml?

Я хочу использовать константы приложения в конфигурации spring xml.

Я знаю, что делать с spring SpEl с чем-то вроде этого:

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

Итак, есть ли лучший способ сделать это?

1 ответов


можно использовать <util:constant> (см. С. 2.2 пакет util-схемы):

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

Это спорный вопрос о том, является ли это лучше, хотя. Ваша версия SpEL более лаконична.

другой вариант-использовать стиль конфигурации Java, который является более естественным (см. 4.12 конфигурация контейнера на основе Java):

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