12

spring xml 構成内でアプリケーション定数を使用したいと考えています。

私は次のようなものでSpring SpElでそれを行うことを知っています:

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

それで、これを行うより良い方法はありますか?

4

1 に答える 1

29

以下を使用できます<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 バージョンはより簡潔です。

もう 1 つのオプションは、より自然な Java 構成スタイルを使用することです ( 4.12 Java ベースのコンテナー構成を参照)。

@Bean
public SomeBean myBean() {
    SomeBean bean = new SomeBean();
    bean.setProperty(EXAMPLE_CONSTANT);  // using a static import
    return bean;
}
于 2012-05-16T13:41:26.630 に答える