2010-11-09 20 views
6
<bean id="xyz" class="com.abc" > 
    <property name="name"> 
    <bean   
      class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean"> 
     <property name="staticField" value="com.abc.staticname" /> 
    </bean> 
    </property> 
</bean> 

इस तरह से पहले मैंने क्लास com.abc का नाम सेट करने के लिए उपयोग किया था। अब, नाम एक और enum से आना चाहिए। मैं अपने वर्ग com.abc की नाम संपत्ति सेट करने के लिए enum मान का उपयोग कैसे करूं?स्प्रिंग का उपयोग एनम

उत्तर

7

मुझे नहीं लगता कि आप FieldRetrievingFactoryBean का उपयोग क्यों नहीं कर सकते हैं, यही वह है।

हालांकि, आपके उदाहरण के मुकाबले इसका उपयोग करना थोड़ा आसान है। साथ ही, आसान स्कीमा-आधारित सिंटैक्स है जो एक ही चीज करता है, <util:constant>

दोनों दृष्टिकोण दस्तावेज (और तुलना) here दस्तावेज किए गए हैं।

(याद रखें कि enum मूल्यों enum वर्ग पर सिर्फ स्थिर क्षेत्र हैं)

+0

धन्यवाद, लिंक बहुत उपयोगी था। – Shamik

2

तुम बस मूल्य के रूप में enum नाम का उपयोग कर सकते हैं और वसंत स्वचालित रूप से पता है कि यह enum प्रकार का एक स्थिर क्षेत्र है और इसका इस्तेमाल करते हैं । उदाहरण के लिए, यदि आप मान SOMEVAL, ANOTHERVAL के साथ एक enum com.mycompany.MyEnum है, तो आप उपयोग कर सकते हैं:

<property name="myEnumProperty" value="SOMEVAL" /> 

यह आपको FieldRetrievingFactoryBean और <util:constant> पूरी तरह से बचने के लिए अनुमति देगा।

संबंधित मुद्दे