前言
solon是一款小而美的应用开发框架。拥有轻量、高性能、内存占用低、打包文件小、启动速度快等优势,Mybatis Plus也是早早的支持了solon。希望国产开源软件越来越好是整个开源社区的共同愿望,所以easy-trans本次也发布了solon的版本。
因为是第一个版本,所以功能比sp版本稍微弱一点点点点,ORM框架目前只支持MP,不支持微服务翻译。其他的和sp版本功能相同。
功能
1 我有一个id,但是我需要给客户展示他的title/name 但是我又不想自己手动做表关联查询
2 我有一个字典码 sex 和 一个字典值0 我希望能翻译成 男 给客户展示。
3 我有一组user id 比如 1,2,3 我希望能展示成 张三,李四,王五 给客户
4 我有一个枚举,枚举里有一个title字段,我想给前端展示title的值 给客户
5 我有一个唯一键(比如手机号,身份证号码,但是非其他表id字段),但是我需要给客户展示他的title/name 但是我又不想自己手动做表关联查询
食用步骤
- maven引入
因为阿里云仓库 软件更新,所以如果依赖下载不了请切到中央仓库。
<dependency> <groupId>com.fhs-opensource</groupId> <artifactId>easy-trans-solon-plugin</artifactId> <version>1.0.0</version> </dependency>
- 初始化字典缓存(没有字典表的项目请无视本步骤)
@Inject private DictionaryTransService dictionaryTransService; //在某处将字典缓存刷新到翻译服务中,以下是demo Map<String,String> transMap = new HashMap<>(); transMap.put("0","男"); transMap.put("1","女"); dictionaryTransService.refreshCache("sex",transMap);
- 定义vo,使用@Trans 注解标记哪些字段需要翻译
@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; // 枚举翻译,返回文科还是理科给前端 @Trans(type=TransType.ENUM,key = "desc") private StudentType studentType = StudentType.ARTS; public static enum StudentType{ ARTS("文科"), SCIENCES("理科"); private String desc; StudentType(String desc){ this.desc = desc; } } }
- 在controller调用翻译服务,对数据进行翻译。
@Inject TransService transService; @Mapping("trans") public Student trans() { Student stu = new Student(); stu.setId("11"); stu.setSchoolId(1); stu.setSex("boy"); //翻译集合用:transMore方法 如果pojo的子属性还需要被翻译用: transOneLoop/transManyLoop 方法 transService.transOne(stu); return stu; }
- 访问controller查看结果,返回的student对象中已经包含了学校名称,性别等中文的翻译结果
源码地址
solon版本源码地址:https://gitee.com/fhs-opensource/easy_trans_solon
springboot版本源码地址:https://gitee.com/fhs-opensource/easy_trans
文档地址:https://gitee.com/fhs-opensource/easy_trans/wikis
技术支持
我在solon的官网微信群中,或者查看git仓库的readme添加easy trans官网群获取技术支持。
还没有评论,来说两句吧...