2012-05-16 29 views
12

Tôi muốn sử dụng các hằng số ứng dụng trong cấu hình xml mùa xuân.cách tốt nhất để sử dụng hằng số ứng dụng trong cấu hình xml mùa xuân là gì?

tôi biết để làm điều đó với mùa xuân SpEl với một cái gì đó như thế này:

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

Vì vậy, là có một cách tốt hơn để làm điều này?

+0

Có lẽ tôi đã bỏ lỡ một cái gì đó, nhưng tại sao phải có liên tục trong lớp và không có trong tập tin bất động sản? – Betlista

Trả lời

28

Bạn có thể sử dụng <util:constant> (Xem C.2.2 The util schema):

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

Đó là tranh cãi về việc liệu đó là bất kỳ tốt hơn, mặc dù. Phiên bản Spel của bạn gọn gàng hơn.

Một lựa chọn khác là sử dụng các kiểu cấu hình Java, đó là tự nhiên hơn (xem 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

Nhưng phiên bản của bạn thân thiện với con người hơn – richarbernal

+0

@richarbernal: Điểm công bằng – skaffman

Các vấn đề liên quan