开发者社区> 问答> 正文

spring util:map enum 注入为key问题

有一个枚举类,

public enum MyEnum{
      A(1),

      B(2);
}

public class Service{

    Map<MyEnum,String> map ;

}

spring xml config :
<util:map id="map" key-type="MyEnum">
           <entry key="A"><value>1</value></entry>
           <entry key="B"><value>1</value></entry>   
</util:map> 

<bean id="serivce" class="Service">
 <property name="map">
            <ref bean="map"/>
    </property>
 </bean>

代码如上代码没有问题。而当我把枚举类移到一个接口中集中管理时,代码如下

interface Constants { 

public enum MyEnum{
      A(1),

      B(2);
}

}

配置文件如:

<util:map id="map" key-type="Constants.MyEnum">
           <entry key="A"><value>1</value></entry>
           <entry key="B"><value>1</value></entry>   
</util:map> 

容器启动的时候,会出现java.lang.ClassNotFoundException.把Constants类型改成class也是同样的异常,求各大侠解释。

问题的原因是:

 MyEnum是内部类,正确的使用方法是

<util:map id="map" key-type="Constants$MyEnum">
           <entry key="A"><value>1</value></entry>
           <entry key="B"><value>1</value></entry>   
</util:map> 

展开
收起
a123456678 2016-03-16 11:46:35 4457 0
1 条回答
写回答
取消 提交回答
  • MyEnum是内部类,正确的使用方法是

    <util:map id="map" key-type="Constants$MyEnum"> 
               <entry key="A"><value>1</value></entry> 
               <entry key="B"><value>1</value></entry>    
    </util:map>  
    2019-07-17 19:03:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多