java枚举类型加入springbean_spring 注入一个以枚举类型对象
1、枚举
在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。
例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”。
在java中如何更好的使用这些“数据集”呢?因此枚举便派上了用场,是枚举的一个例子:
public enumColorEnum {
RED, GREEN, YELLOW, BLUE;
}
2、在spring中配置注入一个枚举类型对象
1)、定义枚举类型对象
packagecom.zcr.util;public enumColorEnum {
RED, GREEN, YELLOW, BLUE;
}
2)、使用拥有枚举类型的类
packagecom.zcr.util//使用枚举类型
public classCar {privateColorEnum colorEnum;
}
3)、spring 配置文件中加入下面的代码
//spring配置文件注入
注意:
枚举类型要想注入到类中,一定要先使用org.springframework.beans.factory.config.FieldRetrievingFactoryBean类将枚举类型进行转换,即
将ColorEnum.RED转换为RED这个bean,然后在要注入的bean中使用引用即可。
3)、调用
在你要注入类的地方加入下面的代码即可将类信息注入。
@Autowiredprivate Car car;
3、使用java自带的一个Enum(枚举)类型进行注入测试
java中也存在着很多的枚举类,如java.util.concurrent.TimeUnit,它的类定义如下:
public enum TimeUnitextends Enum
由上面的定义我们可以看到,它是一个枚举类。现在我要通过spring文件配置它生成的实例。
在spring配置文件中假如下面的配置:
类中调用:
@Autowiredprivate TimeUnit timeUnit;
这样子该对象就拿到了。
4、为什么要使用文件配置的方式?
想java的TimeUnit类,它有多种时间单位,毫秒、秒、分、时、天……,而我们在项目中使用的时候,肯定是统一时间单位的,所以我们可以通过配置文件配置,这样子有利于解耦和,当我们要修改时间单位的时候,我们只需简单的修改我们的配置文件就可以了,(最好还是少改代码)。同时,我们肯定在多个地方用到了TimeUnit这个对象,假如我们配置在配置文件中,就只需要修改一个位置即可完成所有调用的修改,易于项目的修改。
致谢:感谢您的阅读!
java枚举类型加入springbean_spring 注入一个以枚举类型对象相关推荐
- java 校验文件类型_java如何判断一个文件的类型 | 学步园
用文件头判断.直接读取文件的前几个字节. 常用文件的文件头如下: JPEG (jpg),文件头:FFD8FF PNG (png),文件头:89504E47 GIF (gif),文件头:47494638 ...
- java的枚举类型是什么_什么是枚举(java枚举类型enum用法)
最佳回答 枚举 1.枚举 (enumeration) 值类型的一种特殊形式,它从 System.Enum 继承,并为基础基元类型的值提供备用名称.枚举类型有名称.基础类型和一组字段.基础类型. &qu ...
- java enum类默认常量是什么_Java枚举类型enum的详解及使用
Java枚举类型enum的详解及使用 最近跟同事讨论问题的时候,突然同事提到我们为什么Java 中定义的常量值不采用enmu 枚举类型,而采用public final static 类型来定义呢?以前 ...
- JavaScript一个简易枚举类型实现扑克牌
<script type="text/javascript"> /*** 这个函数创建一个新的枚举类型,实参对象表示类的每个实例的名字和值* 返回值是一个构造函数,它标 ...
- java接口参数类型为枚举_Spring MVC处理参数中的枚举类型通用实现方法
前言 在开发的过程中,会涉及到大量的枚举类型数据,我们都知道,Springmvc本身能自动转换很多的数据类型,也支持你自定义转换类型,非常灵活. 本文主要介绍的是关于Spring MVC处理参数的枚举 ...
- java 枚举型 默认值,c# - 选择Enum类型的默认值而不必更改值
c# - 选择Enum类型的默认值而不必更改值 在C#中,是否可以使用属性修饰Enum类型或执行其他操作来指定默认值应该是什么,而不更改值? 无论出于何种原因,所需的数字可能都是一成不变的,并且仍然可 ...
- Java基础系列:(2)关于枚举的简单总结
一 枚举类型简介 在JDK1.5之前,Java是没有枚举类型的,只有:类和接口.当然,在一般情况下这两种类型就已经足够了,不过在某些特殊情况下就显得有点不合适了.比如:"春夏秋冬" ...
- JAVA常用基础知识点[继承,抽象,接口,静态,枚举,反射,泛型,多线程...]
类的继承 Java只支持单继承,不允许多重继承 - 一个子类只能有一个父类 - 一个父类可以派生出多个子类 这里写图片描述 子类继承了父类,就继承了父类的方法和属性. 在子类中,可以使用父类中定义的方 ...
- java安全(二):JDBC|sql注入|预编译
给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 关注公众号:b1gpig信息安全,文章推送不错过 1 JDBC基础 JDBC(Java Database Connectivity)是Java提供 ...
最新文章
- C# char[]与string之间的相互转换
- php io select,Python IO多路复用之——select方案服务端和客户端代码【python源码详解】...
- 【转】Postman 生成接口文档
- python个人网站系统_利用基于Python的Pelican打造一个自己的个人纯静态网站
- mybatis 二级缓存失效_二级缓存updateBatchById失效
- Oracle 11g Dataguard搭建及知识梳理
- 排序 给excel_excel排序技巧:这些不同方式的排序方法你都会了么
- Unity3D游戏开发之GUI
- 彪悍榴莲姐再袭 这次一口气吃掉10斤
- Java中操作SFTP服务器上的文件下载上传
- 深度学习(十五)基于级联卷积神经网络的人脸特征点定位-CVPR 2013
- SetBkMode(TRANSPARENT) 设置文本背景与控件背景一样
- cs231n图像分类笔记(上)学习记录
- Linux下安装hbase
- 【dede】列表页调用二三级导航栏
- pycharm免安装版推荐
- ogre研究之第一个程序
- 解决es集群Yellow与Red的问题
- 对话月薪10万的技术老兵:技术人如何开心工作、快乐赚钱?
- mac用什么写python程序_macos,python_大家在mac系统都用什么编辑器写python程序?,macos,python - phpStudy...