创建一个Spring枚举bean并传递方法调用的值

时间:2012-05-22 13:09:45

标签: java spring enums

我有这个Singleton:

   public enum Elvis {
       INSTANCE;
       private int age;

       public int getAge() {
           return age;
       }
   }

我知道如何在spring中创建枚举bean:

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

如何将INSTANCE.getAge()返回的int传递给另一个bean构造函数?

1 个答案:

答案 0 :(得分:13)

您可以使用Spring Expression Language

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

或没有elvis bean:

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