参考链接: Java中具有自定义值的枚举

2019独角兽企业重金招聘Python工程师标准>>>

public class MyIntegerEnumConverters {

@WritingConverter

public static class EnumToIntegerConverter implements Converter<IntEnumConvertable, String> {

@Override

public String convert(IntEnumConvertable source) {

return String.valueOf(source.getValue());

}

}

}

public class MyIntegerToEnumConverterFactory implements ConverterFactory<String, Enum> {

@Override

public <T extends Enum> Converter<String, T> getConverter(Class<T> targetType) {

Class<?> enumType = targetType;

while (enumType != null && !enumType.isEnum()) {

enumType = enumType.getSuperclass();

}

if (enumType == null) {

throw new IllegalArgumentException(

"The target type " + targetType.getName() + " does not refer to an enum");

}

return new IntegerToEnum(enumType);

}

@ReadingConverter

public static class IntegerToEnum<T extends IntEnumConvertable> implements Converter<String, IntEnumConvertable> {

private final Class<T> enumType;

public IntegerToEnum(Class<T> enumType) {

this.enumType = enumType;

}

@Override

public IntEnumConvertable convert(String source) {

for (T t : enumType.getEnumConstants()) {

if (t instanceof IntEnumConvertable) {

if (t.getValue() == Integer.valueOf(source)) {

return t;

}

}

}

return null;

}

}

}

public interface IntEnumConvertable extends Serializable {

int getValue();

}

registry.addConverter(new MyIntegerEnumConverters.EnumToIntegerConverter());

registry.addConverter(new MyIntegerToEnumConverterFactory.IntegerToEnum(null));

registry.addConverterFactory(new MyIntegerToEnumConverterFactory());

转载于:https://my.oschina.net/stategrace/blog/749572

[转载] spring mvc自定义int枚举转换器相关推荐

  1. Spring MVC自定义验证注释

    在上一教程中,我展示了如何使用注释来验证表单 . 这对于简单的验证非常有用,但是最终,您需要验证一些现成的注释中没有的自定义规则. 例如,如果您需要根据输入的出生日期来验证用户已超过21岁,或者可能需 ...

  2. Spring MVC:HTTP消息转换器

    了解有关Spring MVC和HTTP消息转换器的更多信息. 通常,你需要为用户提供相同的数据,但是以不同的形式(例如JSON,PDF,XLS等)为用户提供.如果你的应用程序是基于Spring Fra ...

  3. Spring MVC自定义类型转换器Converter、参数解析器HandlerMethodArgumentResolver

    文章目录 一.前言 二.类型转换器Converter 1.自定义类型转换器 三.参数解析器 1.自定义分页参数解析器 2.自定义注解参数解析器 一.前言 Spring MVC源码分析相关文章已出: S ...

  4. Spring MVC__自定义日期类型转换器

    WEB层采用Spring MVC框架,将查询到的数据传递给APP端或客户端,这没啥,但是坑的是实体类中有日期类型的属性,但是你必须提前格式化好之后返回给它们.说真的,以前真没这样做过,之前都是一口气查 ...

  5. Spring MVC Converter(类型转换器)详解

    Spring MVC 框架的 Converter<S,T> 是一个可以将一种数据类型转换成另一种数据类型的接口,这里 S 表示源类型,T 表示目标类型.开发者在实际应用中使用框架内置的类型 ...

  6. 使用Spring Boot和Spring MVC自定义HttpMessageConverters

    为Spring Boot应用程序或直接的Spring MVC应用程序公开基于REST的终结点很简单,以下是一个控制器,该终结点公开了一个终结点,用于基于其发布的内容创建实体: @RestControl ...

  7. Spring MVC –自定义RequestMappingHandlerMapping

    在xml bean定义文件中使用<mvc:annotation-driven />配置Spring MVC时,在内部将一个名为RequestMappingHandlerMapping的组件 ...

  8. Spring MVC 自定义验证器示例

    在任何 spring web mvc 应用程序中,我们经常必须处理表单.应用程序首先显示一个表单,然后用户填写该表单并将其提交给服务器.在服务器上,应用程序需要捕获表单输入并处理输入(例如,存储在数据 ...

  9. Spring MVC中文文档翻译发布

    2019独角兽企业重金招聘Python工程师标准>>> 21.1 Spring Web MVC框架简介 Spring的模型-视图-控制器(MVC)框架是围绕一个DispatcherS ...

最新文章

  1. R语言vtreat包的mkCrossFrameCExperiment函数交叉验证构建数据处理计划并进行模型训练、通过显著性进行变量筛选(删除相关性较强的变量)、构建多变量模型、转化为分类模型、模型评估
  2. pmp项目变更的流程图_?跟我学PMP | 项目的变更管理应该怎么做?
  3. Oracle其它数据库对象:视图、序列、同义词
  4. Codeforces 765F. Souvenirs
  5. unity 天空盒_Unity自定义可编程渲染管线(SRP)(二)——编写第一个自定义SRP
  6. 【原】AMR音频解码插件开发总结
  7. Linux系统编程8:入门篇之简单明了说明如何在Linux中Git提交代码
  8. document.cookie 获取不到_意想不到,王者荣耀中不用花钱就可以获得的皮肤有哪
  9. 下一站,北京-欢乐谷
  10. python滚动条翻页爬取数据_scrapy实践之翻页爬取的实现
  11. python源码剖析_Python源码剖析
  12. h3c 出口路由器mac地址过滤
  13. 生成项目有roslyn_Roslyn的代码生成:UML的骨架类
  14. Echarts——自定义仪表盘图表
  15. 大健康、医疗服务、商城系统、内容管理、健康数据统计、医疗问诊、慢病管理、科室管理、问诊订单、看病、挂号预约、体检订单、疾病管理、血压、血糖、运动、睡眠、物流、体温、体重、计步、心率、医院、医生、售后
  16. opencv-python 视频抽帧成一张张图片
  17. DLL load failed while importing _cvxcore解决办法
  18. 5G网络实现自动驾驶车联网——第三篇:5G网络实现远程SSH,远程桌面
  19. 全宇宙尺寸最小的OpenMV!OpenMV Mini!
  20. 微信小程序之蓝牙连接

热门文章

  1. 微信小程序:一起玩连线,一个算法来搞定
  2. java注意的一些细节问题
  3. 计算机控制基础知识,最新 分析计算机控制系统及其运算基础知识-精品
  4. 桶排序算法c语言10个数组,桶排序算法
  5. 计算机背板知识,你知道背板的选购技巧吗?
  6. 用ajax替换html代码,替换Ajax响应一个div的内部HTML(Replace inner HTML of a div w
  7. FJ的字符串java问题_蓝桥杯VIP试题 之 基础练习 FJ的字符串- JAVA
  8. Linux基础(存储结构和磁盘划分)
  9. php用到的mysql语句_PHP中常用到的一些MySQL语句_php
  10. SQLPlus命令详细说明