java字典初始化_字典翻译注解讲解
原理
使用拦截器,初始化时加载缓存到,使用时判断注解,根据注解解析缓存类,并用正则表达式,翻译后重写json数据,直到返回结果
使用
系统启动时,初始化查询字典,将字典缓存到redis中格式为
/**
* 功能描述: 加载字典到内存中
*
* @param dictInfo@return
* @author Mei.HaiBo
* @date 2019/4/15 17:14
*/
@Override
@ServiceCache(action = ServiceCacheActionEnum.UPDATE,scope = CacheType.DICT_INFO_TRANSLATION,keyExpression="#dictInfo.type")
public WebReturn loadDictInfoToCache(DictInfo dictInfo) {
List dictInfoList = dictSysCommonDetailMapper.loadDictInfoToCache(dictInfo);
WebReturn webReturn = new WebReturn();
webReturn.setData(dictInfoList);
return webReturn;
}
DICT_INFO_TRANSLATION#USER_GENDER_CODE {"data":[{"createDate":1517559323000,"dictCode":"USER_GENDER_CODE","dictId":1,"dictInfoId":1,"dictInfoName":"男性","dictInfoValue":0,"order":0},{"createDate":1517559323000,"dictCode":"USER_GENDER_CODE","dictId":1,"dictInfoId":2,"dictInfoName":"女性","dictInfoValue":1,"order":0},{"createDate":1517559323000,"dictCode":"USER_GENDER_CODE","dictId":1,"dictInfoId":3,"dictInfoName":"不男不女","dictInfoValue":2,"order":0}],"status":"200"}
使用注解 @TranslationDict翻译字典
@TranslationDict({@DictParam(dictCode = "USER_GENDER_CODE",dictValueFiled = "gender",dictNameFiled = "genderName")})
@TranslationDict参数为@DictParam数组
@DictParam注解有三个属性:dictCode 要翻译字典的类型,如GENDER DEPT等
dictValueFiled 需要翻译的字段,如user中的gender
dictNameFiled 目标字段,将字典翻译后的值存入的字段名,为了维护需要在javabean中包含这个字段
例子
注解需要使用在service方法上
翻译完成后
注意
使用时要引入
com.ge.hcd.ecg
ecg-cache-starter
${project.parent.version}
配置文件中,配置缓存为打开
ecg:
cache:
service:
enable: true
java字典初始化_字典翻译注解讲解相关推荐
- java数组 初始化_用Java初始化数组
java数组 初始化 具有使用C或FORTRAN等语言进行编程的经验的人熟悉数组的概念. 它们基本上是一个连续的内存块,每个位置都是某种类型:整数,浮点数或您所拥有的. Java中的情况与此类似,但有 ...
- java字典初始化_在Java中用一组特定的数据初始化字典
我很好奇我如何更有效地实例化Java中的字典.目前我有可以通过的代码,但我用非常混淆的方式填充数据.在Java中用一组特定的数据初始化字典 有什么办法让我初始化我的字典吗?这是蟒蛇的记录: weste ...
- java全局变量初始化_为什么 Java 中全局变量不一定初始化,局部变量必须初始化?...
前几天,有个大佬考了我一个问题:为什么类的成员变量不需要指定值就可以自动赋予初始值,而方法内的局部变量就必须指定初始值呢? 说实话,这个问题确实难倒我了,之后我在网上一顿操作,终于把这个问题弄得稍微明 ...
- java 静态块初始化_简单了解java中静态初始化块的执行顺序
这篇文章主要介绍了简单了解java中静态初始化块的执行顺序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在java中,其应该是先于所有的方法执行. ...
- java final 初始化_[转]java static final 初始化
1.static修饰(类变量)一个属性字段,那么这个属性字段将成为类本身的资源,public修饰为共有的,可以在类的外部通过test.a来访问此属性;在类内部任何地方可以使用.如果被修饰为privat ...
- java arraylist 初始化_一不小心就让Java开发踩坑的fail-fast是个什么鬼?
什么是fail-fast 首先我们看下维基百科中关于fail-fast的解释: In systems design, a fail-fast system is one which immediate ...
- java 堆排序算法_堆排序算法的讲解及Java版实现
这篇文章主要介绍了堆排序算法的讲解及Java版实现,堆排序基于堆这种数据结构,在本文中对堆的概念也有补充介绍,需要的朋友可以参考下 堆是数据结构中的一种重要结构,了解了"堆"的概念 ...
- java 虚拟机 初始化_【深入理解Java虚拟机】类的初始化过程
类的初始化过程 类的加载过程.png 加载 将 Class 文件以二进制的形式加载到内存中 验证 校验 Class 文件是否安全,是否被正确的修改等 准备 为类变量申请内存,设置默认值,(初始化变量的 ...
- python定义字典长度_字典详解dict
[toc] ## 字典的定义与特性 字典是Python语言中唯一的映射类型. ### 定义: `{key1:value1,key2:value2}` 1. 键与值用冒号":"分开: ...
最新文章
- java sqlite使用小记
- NeurIPS 2021 助力YOLOv5涨点 Alpha-IoU:IoU Loss大一统
- python导包顺序_2019-03-21 python导入包以及Python程序执行顺序理解
- python3安装教程-Python3+Scapy安装使用教程
- [转]一个总成本花费100W的失败项目的小小反省
- java 用来查找输出的函数_Solr复杂查询一:函数查询
- java创建具体时间点_java单例饿汉模式对象创建时间点疑问
- ASP.NET Core中使用MediatR实现命令和中介者模式
- 作者:马朝辉(1974-),男,华南师范大学计算机学院博士生。
- [深入React] 1. 开发环境搭建
- Openflow协议规范
- 民科微服务电脑版下载_天翼云桌面通用版电脑版下载|天翼云桌面通用版PC客户端 V1.23.0 官方最新版 下载_当下软件园...
- python的设计哲学是什么意思_Python彩蛋:哲学理念及设计思想(The Zen of Python, by Tim Peters)...
- 如何在R中使用range()?
- Mybatis-generator的使用
- macOS升级到Big Sur之后Goland提示找不到svn命令
- MTK手机 获取 Serial Number(barcode)
- 使用Linux常见问题及其解决办法
- 上门洗车APP --- Android客户端开发 前言及业务简介
- 20230222作业
热门文章
- 联机设备电量数据接入时序数据库可行性分析
- 数字信号处理matlab心得,数字信号处理学习心得体会3篇
- Spring5快速入门学习
- 豆豆趣事[2014年01月]
- c# Quart定时任务
- 关于Kubernetes中kube-scheduler的一些笔记
- 安卓学习专栏——查看安卓数据库,用navicat premium与sqlitestudio可视化查看数据库(图文保姆级)
- rbf神经网络参数设置_隐含层节点数对RBF网络逼近的影响(06)
- C语言十六进制转换成十进制(代码),可将数组内的十六进制数转换后并存入数组
- 计算机控制在化工中有哪些应用,探析计算机控制在化工生产中的应用