spring3.x往map中注入enum枚举的方法

来源:互联网 发布:java sip协议 编辑:程序博客网 时间:2024/05/04 13:34

直接上代码:

<bean id="listener_map" class="java.util.concurrent.ConcurrentHashMap" scope="singleton"><constructor-arg><map><entry><key><value type="com.xxx.event.ResHelpEventType">REJECT_INVITE</value></key><ref bean="rejectThxEventListenerList"/></entry><entry><key><value type="com.xxx.event.ResHelpEventType">ACCEPT_INVITE</value></key><ref bean="acceptThxEventListenerList"/></entry><entry><key><value type="com.xxx.event.ResHelpEventType">THANK</value></key><ref bean="thxEventListenerList"/></entry></map></constructor-arg></bean>

 

这是一个事件监听器的map配置。

 

有些资料显示可以直接将枚举声明成bean并用ref引用的方式,在我试来其实会报ClassNotFoundException,不知是否是版本问题,错误代码贴出来给大家看看。

资料中显示的bean方式如下:

<bean id="thxEvent" class="com.xxx.event.ResHelpEventType.THANK"/>


还是把枚举类也拿出来给大家看看吧:

public enum ResHelpEventType {    THANK,     ACCEPT_INVITE,     REJECT_INVITE}