2012-05-16 10 views
12

アプリケーションの定数をspring xmlの設定で使用したいと思います。Springのxml構成でアプリケーション定数を使用する最も良い方法は何ですか?

私はこのようなもので、スプリングSpeIであることを行うことを知っている:

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

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

+0

たぶん私は何かを逃したが、なぜクラスではなく、プロパティファイルに一定の持っていますか? – Betlista

答えて

28

あなたは(C.2.2 The util schemaを参照)<util:constant>を使用することができます。

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

それはそれはしかし、どんな方が良いですか否かについて議論の余地があります。 SpELのバージョンはより簡潔です。

別のオプションは、(4.12 Java-based container configurationを参照)、より自然であるJava設定のスタイルを使用することです:

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

あなたのバージョンはより人間に優しいです – richarbernal

+0

@richarbernal:Fair point – skaffman

関連する問題