easy-trans-solon 1.0.0 版本发布,一个注解搞定数据翻译

前言

      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官网群获取技术支持。

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/213472/easy-trans-solon-1-0-0-released

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。