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

直接上代码:

<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
}


 

 

你可能感兴趣的:(Spring3)