2012-05-22 81 views
17

的價值我有這樣的辛格爾頓:創建Spring枚舉豆和傳遞方法調用

public enum Elvis { 
     INSTANCE; 
     private int age; 

     public int getAge() { 
      return age; 
     } 
    } 

我知道如何在春天創建枚舉豆:

<bean id="elvis" class="com.xyz.Elvis" factory-method="valueOf"> 
      <constructor-arg> 
       <value>INSTANCE</value> 
      </constructor-arg> 
    </bean> 

如何傳遞INSTANCE.getAge()返回的int到另一個bean構造函數中?

+1

+1貓王,哈哈:) –

+0

任何想法,你將如何傳遞只是貓王場期待一個枚舉?如果我使用#{T(Elvis)}它告訴我它不能從java.lang.Class轉換爲java.lang.Enum。 – Cameron

回答

13

您可以使用Spring Expression Language

<constructor-arg value = "#{elvis.age}" /> 

或不elvis豆:

<constructor-arg value = "#{T(com.xyz.Elvis).INSTANCE.age}" /> 
+1

調用年齡方法的小修正: DarVar