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 注入一个以枚举类型对象相关推荐

  1. java 校验文件类型_java如何判断一个文件的类型 | 学步园

    用文件头判断.直接读取文件的前几个字节. 常用文件的文件头如下: JPEG (jpg),文件头:FFD8FF PNG (png),文件头:89504E47 GIF (gif),文件头:47494638 ...

  2. java的枚举类型是什么_什么是枚举(java枚举类型enum用法)

    最佳回答 枚举 1.枚举 (enumeration) 值类型的一种特殊形式,它从 System.Enum 继承,并为基础基元类型的值提供备用名称.枚举类型有名称.基础类型和一组字段.基础类型. &qu ...

  3. java enum类默认常量是什么_Java枚举类型enum的详解及使用

    Java枚举类型enum的详解及使用 最近跟同事讨论问题的时候,突然同事提到我们为什么Java 中定义的常量值不采用enmu 枚举类型,而采用public final static 类型来定义呢?以前 ...

  4. JavaScript一个简易枚举类型实现扑克牌

    <script type="text/javascript"> /*** 这个函数创建一个新的枚举类型,实参对象表示类的每个实例的名字和值* 返回值是一个构造函数,它标 ...

  5. java接口参数类型为枚举_Spring MVC处理参数中的枚举类型通用实现方法

    前言 在开发的过程中,会涉及到大量的枚举类型数据,我们都知道,Springmvc本身能自动转换很多的数据类型,也支持你自定义转换类型,非常灵活. 本文主要介绍的是关于Spring MVC处理参数的枚举 ...

  6. java 枚举型 默认值,c# - 选择Enum类型的默认值而不必更改值

    c# - 选择Enum类型的默认值而不必更改值 在C#中,是否可以使用属性修饰Enum类型或执行其他操作来指定默认值应该是什么,而不更改值? 无论出于何种原因,所需的数字可能都是一成不变的,并且仍然可 ...

  7. Java基础系列:(2)关于枚举的简单总结

    一 枚举类型简介 在JDK1.5之前,Java是没有枚举类型的,只有:类和接口.当然,在一般情况下这两种类型就已经足够了,不过在某些特殊情况下就显得有点不合适了.比如:"春夏秋冬" ...

  8. JAVA常用基础知识点[继承,抽象,接口,静态,枚举,反射,泛型,多线程...]

    类的继承 Java只支持单继承,不允许多重继承 - 一个子类只能有一个父类 - 一个父类可以派生出多个子类 这里写图片描述 子类继承了父类,就继承了父类的方法和属性. 在子类中,可以使用父类中定义的方 ...

  9. java安全(二):JDBC|sql注入|预编译

    给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 关注公众号:b1gpig信息安全,文章推送不错过 1 JDBC基础 JDBC(Java Database Connectivity)是Java提供 ...

最新文章

  1. C# char[]与string之间的相互转换
  2. php io select,Python IO多路复用之——select方案服务端和客户端代码【python源码详解】...
  3. 【转】Postman 生成接口文档
  4. python个人网站系统_利用基于Python的Pelican打造一个自己的个人纯静态网站
  5. mybatis 二级缓存失效_二级缓存updateBatchById失效
  6. Oracle 11g Dataguard搭建及知识梳理
  7. 排序 给excel_excel排序技巧:这些不同方式的排序方法你都会了么
  8. Unity3D游戏开发之GUI
  9. 彪悍榴莲姐再袭 这次一口气吃掉10斤
  10. Java中操作SFTP服务器上的文件下载上传
  11. 深度学习(十五)基于级联卷积神经网络的人脸特征点定位-CVPR 2013
  12. SetBkMode(TRANSPARENT) 设置文本背景与控件背景一样
  13. cs231n图像分类笔记(上)学习记录
  14. Linux下安装hbase
  15. 【dede】列表页调用二三级导航栏
  16. pycharm免安装版推荐
  17. ogre研究之第一个程序
  18. 解决es集群Yellow与Red的问题
  19. 对话月薪10万的技术老兵:技术人如何开心工作、快乐赚钱?
  20. mac用什么写python程序_macos,python_大家在mac系统都用什么编辑器写python程序?,macos,python - phpStudy...

热门文章

  1. 上升沿检测电路学习笔记
  2. Java --- Web 百度在线地图开发
  3. Deep Dream 模型
  4. Excel拼接sql字符串
  5. 数据结构pintia_数据结构和算法(一)概述
  6. android中常见的内存泄漏和解决办法
  7. R语言dplyr包使用dplyr函数使用group_by函数、summarise函数和mutate函数计算分组占比实战
  8. miui怎么用第三方图标包_刘敏涛的表情包安排上了,翻白眼用英语怎么说?
  9. BCM68385方案产品静电问题分析
  10. 好的设计师VS糟糕的设计师