2012-05-22 9 views
17

tengo este Singleton:Creación de un grano de enumeración primavera y pasar el valor de una llamada al método

public enum Elvis { 
     INSTANCE; 
     private int age; 

     public int getAge() { 
      return age; 
     } 
    } 

que sabe cómo crear el grano de enumeración en primavera:

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

¿Cómo pasan la int devuelta por INSTANCE.getAge() a otro constructor de beans?

+1

+1 para Elvis, lol :) –

+0

Cualquier idea de lo que va a pasar justo Elvis a un campo esperando una enumeración ? Si uso # {T (Elvis)}, me dice que no puede convertir de java.lang.Class a java.lang.Enum. – Cameron

Respuesta

13

Puede utilizar Spring Expression Language:

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

o sin elvis frijol:

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

Corrección pequeña para el método de edad de llamada: DarVar

Cuestiones relacionadas