一、模块规划

计划以一个包的形式进行编码,旨在解决数据库存储码值业务需要返回码值对应的中文(不限于中文)的问题。包计划分为五部分,大致分类如下:

  1. 注解模块,定义一些基本注解,用于字段码值翻译相关的一些配置
  2. 接口模块,定义一些接口,用于码值扩展不同的存储方式和扩展不同的获取方式
  3. 常量模块,定义一些规则常量,方便实用
  4. 实现模块,针对定义的一些接口进行一些默认实现,满足最基本的使用
  5. 核心模块,用于翻译模块的核心处理,统一外部调用方法

工具包中用到的技术大致分为:反射编程、接口编程、注解编程、切面编程、容器编程等。

二、详细设计

  1. 注解分类,分为字段注解和方法注解。字段注解,可配置码值处理的数据源、翻译后的字段指定、自定义翻译信息配置。方法注解,方法上添加了注解后,可直接对返回值进行切面统一处理,省去方法内部的调用。
  2. 接口分类,分为翻译处理接口和码值存储接口。翻译处理接口,定义底层调用接口,交给不同的码值数据获取业务去实现,通过字段去配置不同的业务实现。码值存储接口,定义底层调用接口,可自主实现存储模式,是用内存存储、缓存模块存储还是redis进行存储。

三、项目目录结构展示

IEDA easy javadoc 翻译_字段

四、实现思路

该套方案的核心就是自定义字段的配置注解,通过反射,对对象中的属性值进行映射翻译。自定义的接口是为了方便不同的码值业务进行实现,达到统一入口,自主实现的目标。实现了java的解耦和复用的理念。

五、代码地址

详细的代码逻辑可参考git地址

https://github.com/liquan953243897/algorithm.git