Easy_Trans 1.0.8 发布,一个注解搞定字典/外键翻译
1、升级内容
A 字典翻译添加国际化支持
B 添加simple翻译,通过一个注解即可实现外键翻译 其他表的name/title 的功能。
C 对所有返回responseBody的controller方法返回结果进行自动翻译
2、介绍
在项目开发中,借助JPA和Mybatis Plus我们已经可以做到单表查询不写SQL,但是很多时候我们需要关联字典表,关联其他表来实现字典码和外键的翻译,又要去写sql,使用 EasyTrans 你只需要在被翻译的pojo属性上加一个注解即可完成字典码/外键 翻译。
先看效果:
easy trans适用于三种场景
A 我有一个id,但是我需要给前端展示他的title/name 但是我又不想做表关联查询
B 我有一个字典吗 sex 和 一个字典值0 我希望能翻译成 男 给前端展示。
C 我有一组user id 比如 1,2,3 我希望能展示成 张三,李四,王五 给前端
3、食用步骤
技术经理/架构 需要做的事情
1 、先把maven 引用加上
<dependency> <groupId>com.fhs-opensource</groupId> <artifactId>easy-trans-spring-boot-starter</artifactId> <version>1.0.8</version> </dependency>
Mybatis plus用户另外还需要加以下扩展:
<dependency> <groupId>com.fhs-opensource</groupId> <artifactId>easy_trans_mybatis_plus_extend</artifactId> <version>1.0.8</version> </dependency>
JPA 用户另外还需要加以下扩展:
<dependency> <groupId>com.fhs-opensource</groupId> <artifactId>easy_trans_jpa_extend</artifactId> <version>1.0.8</version> </dependency>
如果使用Redis请添加redis的引用(如果之前加过了请不要重复添加)
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
2、在yaml中添加如下配置
easy-trans: autotrans: #您的service/dao所在的包 支持通配符比如com.*.**.service.**,他的默认值是com.*.*.service.impl package: com.fhs.test.service.**;com.fhs.test.dao.** #启用redis缓存 如果不用redis请设置为false is-enable-redis: true #启用全局翻译(拦截所有responseBody进行自动翻译),如果对于性能要求很高可关闭此配置 is-enable-global: true spring:#如果用到redis配置redis连接 redis: host: 192.168.0.213 port: 6379 password: 123456 database: 0 timeout: 6000
3、如果不使用redis,请在启动类加禁用掉redis的自动配置类
@SpringBootApplication(exclude = { RedisAutoConfiguration.class })
4、初始化字典数据(如果你们项目没字典表请忽略)
@Autowired //注入字典翻译服务 private DictionaryTransService dictionaryTransService; //在某处将字典缓存刷新到翻译服务中,以下是demo Map<String,String> transMap = new HashMap<>(); transMap.put("0","男"); transMap.put("1","女"); dictionaryTransService.refreshCache("sex",transMap);
普通程序员需要做的事情
pojo 中添加
@Data @Builder @AllArgsConstructor @NoArgsConstructor //实现TransPojo 接口,代表这个类需要被翻译或者被当作翻译的数据源 public class Student implements TransPojo { // 字典翻译 ref为非必填 @Trans(type = TransType.DICTIONARY,key = "sex",ref = "sexName") private Integer sex; //这个字段可以不写,实现了TransPojo接口后有一个getTransMap方法,sexName可以让前端去transMap取 private String sexName; //SIMPLE 翻译,用于关联其他的表进行翻译 schoolName 为 School 的一个字段 @Trans(type = TransType.SIMPLE,target = School.class,fields = "schoolName") private String schoolId; }
然后访问你的controller,看返回结果。
参与贡献和技术支持
如果遇到使用问题可以加QQ群:976278956
示例项目
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
一个 WordPress 国产替代版,JPress v4.1.3 发布
JPress 是一个使用 Java 开发的类似 WordPress 的产品,具有完善的模板和插件功能,并在此基础上新增了在线商城、会员中心以及和微信深度整合的功能。 到目前为止, 已经有10w+ 网站使用JPress 进行驱动,其中包括多个政府机构,200+上市公司,中科院、红+字会等。然而,JPress不仅仅只是建站,我们认为不管世界的互联网发生什么样的变化,APP、小程序都需要有网站支持,这才是我们的切入点。 JPress v4.1.3 更新内容如下: 优化:重构 SortModel 以及代码生成器 优化:优化系统设置的菜单名称 优化:CKEditor 编辑器添加图片和表格更多的属性操作 优化:CKEditor 添加对其方式按钮 优化:CKEditor 新增 html 源码编辑的功能 修复:JPress 模块代码生成器生成的目录错误的问题 修复:CKEditor 复制记事本、wps 等内容到编辑器可能出错的问题 修复:WordPress 导入时,可能存在的安全问题 说的再多,不如亲自一试。 在 阿里云(腾讯云)上一键通过 8080 端口运行 wget https://gite...
- 下一篇
Linux Lab 已支持 Rust For Linux 开发,仅需 3 条命令即可极速体验
1. 开源之夏 今年的开源之夏活动马上接近尾声,开源之夏是由中科院软件所组织的暑期开源活动,主要面向高校学生和开源社区,由开源社区出项目和 Mentor,面向高校召集学生报名开展 3 个月的开源项目开发活动。 泰晓科技技术社区每年都参与了该项活动,今年更是提报了 5 个左右的项目,相关信息见:第2届开源之夏即将开启学生报名阶段,有社区老人指导做开源项目,还有奖金领,你报名了吗? 目前活动即将结束,提报的几个项目也陆续进入到紧张的代码集成和总结阶段,相关项目的开发过程见:Issues · 泰晓科技/Cloud Lab - Gitee.com 由于部分学生在开展项目的过程中,有的在企业实习,有的在撰写论文,所以开发时间其实是非常紧张的,而参与指导的 Mentor 们自己本身有繁重的企业项目工作,所以能取得目前的进展还是非常不容易的。 感谢所有实实在在投入精力参与指导的 Mentor 们,也祝贺花费时间思考和动手并获得一定提升的同学们。欢迎同学们关注并报名明年社区即将提报的项目 ;-) 2. Rust For Linux 今年提报的项目之一是:Linux Lab 新增 Rust for Li...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS8安装Docker,最新的服务器搭配容器使用
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS关闭SELinux安全模块
- Linux系统CentOS6、CentOS7手动修改IP地址
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7设置SWAP分区,小内存服务器的救世主