创建 Spring 枚举 Bean 并传递方法调用的值

2022-09-03 02:30:54

我有这个单例:

   public enum Elvis {
       INSTANCE;
       private int age;

       public int getAge() {
           return age;
       }
   }

我知道如何在春天创建enum豆:

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

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


答案 1

您可以使用弹簧表达式语言

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

或不含豆类:elvis

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

答案 2