2012-05-16 37 views
12

我想在spring xml配置中使用我的應用程序常量。在Spring xml配置中使用應用常量的最佳方式是什麼?

我知道這樣做與春天SPEL像這樣的東西:

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

那麼,有沒有更好的方法來做到這一點?

+0

也許我錯過了什麼,但爲什麼有恆定類,而不是屬性文件? – Betlista

回答

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; 
} 
+1

但是你的版本更加人性化 – richarbernal

+0

@richarbernal:公平點 – skaffman

相關問題