2012-05-22 4 views
17

Ich habe diese Singleton:Erstellen einer Feder Enum Bohne und das Bestehen der Wert eines Methodenaufruf

public enum Elvis { 
     INSTANCE; 
     private int age; 

     public int getAge() { 
      return age; 
     } 
    } 

Ich weiß, wie die Enum-Bohne im Frühjahr zu schaffen:

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

Wie gehe ich das int, das von INSTANCE.getAge() in einem anderen Beans-Konstruktor zurückgegeben wird?

+1

+1 für Elvis, lol :) –

+0

Jede Idee, wie Sie gerade Elvis zu einem Feld passieren würde eine Enum erwartet ? Wenn ich # {T (Elvis)} verwende, sagt es mir, dass es nicht von java.lang.Class zu java.lang.Enum konvertieren kann. – Cameron

Antwort

13

können Sie Spring Expression Language verwenden:

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

oder ohne elvis Bohne:

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

Kleine Korrektur für Aufruf Methode Alter: DarVar

Verwandte Themen