首页 / 操作系统 / Linux / Spring 注入一个以枚举类型对象
1、枚举 在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。 例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”。 在java中如何更好的使用这些“数据集”呢?因此枚举便派上了用场,是枚举的一个例子:public enum ColorEnum {RED, GREEN, YELLOW, BLUE;}2、在spring中配置注入一个枚举类型对象1)、定义枚举类型对象package com.zcr.util;public enum ColorEnum {RED, GREEN, YELLOW, BLUE;}2)、使用拥有枚举类型的类package com.zcr.util//使用枚举类型public class Car {private ColorEnum colorEnum;}3)、spring 配置文件中加入下面的代码//spring配置文件注入<bean id="red" class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean"><property name="staticField" value="com.zcr.util.ColorEnum.RED" /></bean><bean id="car" class="com.zcr.util.Car"><property name="colorEnum" ref="red" /></bean>注意:枚举类型要想注入到类中,一定要先使用org.springframework.beans.factory.config.FieldRetrievingFactoryBean类将枚举类型进行转换,即<bean id="red" class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean"><property name="staticField" value="com.zcr.util.ColorEnum.RED" /></bean>将ColorEnum.RED转换为RED这个bean,然后在要注入的bean中使用<property name="colorEnum" ref="red" />引用即可。3)、调用 在你要注入类的地方加入下面的代码即可将类信息注入。@Autowiredprivate Car car;3、使用java自带的一个Enum(枚举)类型进行注入测试 java中也存在着很多的枚举类,如java.util.concurrent.TimeUnit,它的类定义如下:public enum TimeUnitextends Enum<TimeUnit> 由上面的定义我们可以看到,它是一个枚举类。现在我要通过spring文件配置它生成的实例。在spring配置文件中假如下面的配置: <bean id="timeUnit" class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean"> <property name="staticField" value="java.util.concurrent.TimeUnit.SECONDS" /> </bean>类中调用:@Autowiredprivate TimeUnit timeUnit; 这样子该对象就拿到了。4、为什么要使用文件配置的方式? 想java的TimeUnit类,它有多种时间单位,毫秒、秒、分、时、天……,而我们在项目中使用的时候,肯定是统一时间单位的,所以我们可以通过配置文件配置,这样子有利于解耦和,当我们要修改时间单位的时候,我们只需简单的修改我们的配置文件就可以了,(最好还是少改代码)。同时,我们肯定在多个地方用到了TimeUnit这个对象,假如我们配置在配置文件中,就只需要修改一个位置即可完成所有调用的修改,易于项目的修改。 致谢:感谢您的阅读!Spring中如何配置Hibernate事务 http://www.linuxidc.com/Linux/2013-12/93681.htmStruts2整合Spring方法及原理 http://www.linuxidc.com/Linux/2013-12/93692.htm基于 Spring 设计并实现 RESTful Web Services http://www.linuxidc.com/Linux/2013-10/91974.htmSpring-3.2.4 + Quartz-2.2.0集成实例 http://www.linuxidc.com/Linux/2013-10/91524.htm使用 Spring 进行单元测试 http://www.linuxidc.com/Linux/2013-09/89913.htm运用Spring注解实现Netty服务器端UDP应用程序 http://www.linuxidc.com/Linux/2013-09/89780.htmSpring 3.x 企业应用开发实战 PDF完整高清扫描版+源代码 http://www.linuxidc.com/Linux/2013-10/91357.htmSpring 的详细介绍:请点这里
Spring 的下载地址:请点这里本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-12/126836.htm