创建一个Spring枚举bean并传递方法调用的值 [英] Creating a Spring enum bean and passing the value of a method call

查看:196
本文介绍了创建一个Spring枚举bean并传递方法调用的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个Singleton:

  public enum Elvis {
INSTANCE;
private int age;

public int getAge(){
return age;
}
}

我知道如何在春天创建枚举bean:

 < bean id =elvisclass =com.xyz.Elvis方法= 的valueOf > 
< constructor-arg>
< value> INSTANCE< / value>
< / constructor-arg>
< / bean>

如何将INSTANCE.getAge()返回的int传递给另一个bean构造函数?你可以使用 Spring表达式语言

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

或没有 elvis bean:

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


I have this Singleton:

   public enum Elvis {
       INSTANCE;
       private int age;

       public int getAge() {
           return age;
       }
   }

I know how to create the enum bean in spring:

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

How do I pass the int returned by INSTANCE.getAge() into another beans constructor?

解决方案

You can use Spring Expression Language:

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

or without elvis bean:

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

这篇关于创建一个Spring枚举bean并传递方法调用的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆