原理

使用拦截器,初始化时加载缓存到,使用时判断注解,根据注解解析缓存类,并用正则表达式,翻译后重写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字典初始化_字典翻译注解讲解相关推荐

  1. java数组 初始化_用Java初始化数组

    java数组 初始化 具有使用C或FORTRAN等语言进行编程的经验的人熟悉数组的概念. 它们基本上是一个连续的内存块,每个位置都是某种类型:整数,浮点数或您所拥有的. Java中的情况与此类似,但有 ...

  2. java字典初始化_在Java中用一组特定的数据初始化字典

    我很好奇我如何更有效地实例化Java中的字典.目前我有可以通过的代码,但我用非常混淆的方式填充数据.在Java中用一组特定的数据初始化字典 有什么办法让我初始化我的字典吗?这是蟒蛇的记录: weste ...

  3. java全局变量初始化_为什么 Java 中全局变量不一定初始化,局部变量必须初始化?...

    前几天,有个大佬考了我一个问题:为什么类的成员变量不需要指定值就可以自动赋予初始值,而方法内的局部变量就必须指定初始值呢? 说实话,这个问题确实难倒我了,之后我在网上一顿操作,终于把这个问题弄得稍微明 ...

  4. java 静态块初始化_简单了解java中静态初始化块的执行顺序

    这篇文章主要介绍了简单了解java中静态初始化块的执行顺序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在java中,其应该是先于所有的方法执行. ...

  5. java final 初始化_[转]java static final 初始化

    1.static修饰(类变量)一个属性字段,那么这个属性字段将成为类本身的资源,public修饰为共有的,可以在类的外部通过test.a来访问此属性;在类内部任何地方可以使用.如果被修饰为privat ...

  6. java arraylist 初始化_一不小心就让Java开发踩坑的fail-fast是个什么鬼?

    什么是fail-fast 首先我们看下维基百科中关于fail-fast的解释: In systems design, a fail-fast system is one which immediate ...

  7. java 堆排序算法_堆排序算法的讲解及Java版实现

    这篇文章主要介绍了堆排序算法的讲解及Java版实现,堆排序基于堆这种数据结构,在本文中对堆的概念也有补充介绍,需要的朋友可以参考下 堆是数据结构中的一种重要结构,了解了"堆"的概念 ...

  8. java 虚拟机 初始化_【深入理解Java虚拟机】类的初始化过程

    类的初始化过程 类的加载过程.png 加载 将 Class 文件以二进制的形式加载到内存中 验证 校验 Class 文件是否安全,是否被正确的修改等 准备 为类变量申请内存,设置默认值,(初始化变量的 ...

  9. python定义字典长度_字典详解dict

    [toc] ## 字典的定义与特性 字典是Python语言中唯一的映射类型. ### 定义: `{key1:value1,key2:value2}` 1. 键与值用冒号":"分开: ...

最新文章

  1. java sqlite使用小记
  2. NeurIPS 2021 助力YOLOv5涨点 Alpha-IoU:IoU Loss大一统
  3. python导包顺序_2019-03-21 python导入包以及Python程序执行顺序理解
  4. python3安装教程-Python3+Scapy安装使用教程
  5. [转]一个总成本花费100W的失败项目的小小反省
  6. java 用来查找输出的函数_Solr复杂查询一:函数查询
  7. java创建具体时间点_java单例饿汉模式对象创建时间点疑问
  8. ASP.NET Core中使用MediatR实现命令和中介者模式
  9. 作者:马朝辉(1974-),男,华南师范大学计算机学院博士生。
  10. [深入React] 1. 开发环境搭建
  11. Openflow协议规范
  12. 民科微服务电脑版下载_天翼云桌面通用版电脑版下载|天翼云桌面通用版PC客户端 V1.23.0 官方最新版 下载_当下软件园...
  13. python的设计哲学是什么意思_Python彩蛋:哲学理念及设计思想(The Zen of Python, by Tim Peters)...
  14. 如何在R中使用range()?
  15. Mybatis-generator的使用
  16. macOS升级到Big Sur之后Goland提示找不到svn命令
  17. MTK手机 获取 Serial Number(barcode)
  18. 使用Linux常见问题及其解决办法
  19. 上门洗车APP --- Android客户端开发 前言及业务简介
  20. 20230222作业

热门文章

  1. 联机设备电量数据接入时序数据库可行性分析
  2. 数字信号处理matlab心得,数字信号处理学习心得体会3篇
  3. Spring5快速入门学习
  4. 豆豆趣事[2014年01月]
  5. c# Quart定时任务
  6. 关于Kubernetes中kube-scheduler的一些笔记
  7. 安卓学习专栏——查看安卓数据库,用navicat premium与sqlitestudio可视化查看数据库(图文保姆级)
  8. rbf神经网络参数设置_隐含层节点数对RBF网络逼近的影响(06)
  9. C语言十六进制转换成十进制(代码),可将数组内的十六进制数转换后并存入数组
  10. 计算机控制在化工中有哪些应用,探析计算机控制在化工生产中的应用