Sping 依赖注入枚举类型

备注:文章非原创
在此对原作者深表感谢原文地址:http://blog.csdn.net/yingkongshi99/article/details/22991931


  1. //定义枚举类型  
  2. public enum ReportType {  
  3.     MONTH,WEEK,DAY  
  4. }  
  5.   
  6. //使用枚举类型  
  7. public class ReportJob {  
  8.     private ReportType reportType;  
  9. }  
  10.   
  11. //spring配置文件注入  
  12. <bean id="DAY" class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean">    
  13.         <property name="staticField" value="com.test.ReportType.DAY" />    
  14.     </bean>  
  15. <bean id="dayReportJob" class="com.test.ReportJob">  
  16.         <property name="reportType" ref="DAY" />  
  17. </bean> 


 

注意:

枚举类型要想注入到类中,一定要先使用org.springframework.beans.factory.config.FieldRetrievingFactoryBean类将枚举类型进行转换,即

  1. <bean id="DAY" class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean">    
  2.         <property name="staticField" value="com.test.ReportType.DAY" />    
  3. </bean> 


将ReportType.Day转换为DAY这个bean,然后在要注入的bean中使用<property name="reportType" ref="DAY" />引用即可。

 

你可能感兴趣的:(枚举,Spring注入)