请先关注 [低调大师] 公众号 优秀的自媒体个人博客,低调大师,许军

低调大师

您现在的位置是:首页>文章详情

文章详情

Diboot 2.0.3 发布,后端自动化的一大步

2019-12-13 19热度

概述

Diboot 2.0.3 正式版终于来了,他支持基于SpringBoot的单体应用、微服务等,支持常用的五大数据库,支持您对于lombok的使用以及对于swagger的使用等。

他具有更广泛的用户群体,更灵活的基础框架,更多的智能化、自动化开发能力,将整个后端开发工作更加的系统化、标准化。

在之前公开发布的RC版中,diboot好评如潮,初期体验的各位开发者也给出了很多中肯且有用的建议,由衷地感谢各位的大力支持。

我们带来了什么

Diboot整合了SpringBoot、Mybatis以及Mybatis-plus等,同时提供了开发过程中常用的基础配置,以及常用的工具类API,其中diboot-devtools在整合这些工作的过程中提供了自动化的助理类功能。在此次的2.0.3正式版发布中,提升软件稳定性的同时,也提供了以下这些主要更新:

  • 依赖的各组件版本升级
  • BaseCrudRestController引入Entity,VO泛型
  • BindEntity、BindEntityList注解支持非Entity类型的对象属性绑定
  • 数据校验BindingResult转由DefaultExceptionHandler中统一处理
  • diboot-component-*组件包装成starter并移至diboot-v2-starter项目下
  • 优化官网帮助文档
  • 添加了devtools开发助理:
    • 随项目启动的devtools数据库以及关联关系管理/配置页面
    • 基础代码与数据接口代码等的自动生成
    • 与数据结构的联动能力,数据结构与代码的同步更新
    • 支持数据结构的关联关系的图形化展示
    • 支持Lombok、SwaggerUI等项目配置和代码生成/更新上的支持
    • devtools初始化时自动生成各层Base父类、DictionaryController类、ExceptionHandler类等
    • 表关联设置新增/更新时,devtools自动创建/更新索引,并记录索引SQL
    • 支持字段关联,实体关联,实体列表关联等代码的生成与更新
    • 支持数据字段改名也自动检索并更改与其有关联关系的其他实体关联字段
    • 字段名是否为该数据库关键字的检查及提示等

便捷的启动模式

对于基于SpringBoot的项目,您只需要引入 diboot-core-spring-boot-starter 与 diboot-devtools-spring-boot-starter 并在项目配置文件中增加对应配置即可开始使用。

启动成功后,日志信息中会有这样几条提示,点击该链接即可进入到开发助理的管理页面!

简便的数据结构配置

点击控制台的上述链接后,进入到数据结构配置页面,这里的数据结构配置可能与常用的一些数据库管理工具的数据结构设计在界面上差异不大,但我们在这里将数据库的字段类型替换为了Java代码中的数据类型,也增加了样例数据和关联关系等的配置。

数据关联的支持

不仅支持数据字典的关联支持,也支持表的一对一关联,一对多/多对一,以及多对多的中间表关联,还支持一对一、一对多/多对一的字段和实体等属性的关联以及反向的实体列表的关联等。

而这些关联中,在基础框架中,我们就做到了仅仅用一个注解就可以轻松实现这些关联,在自动化助理中,我们更是做到了只需要您在数据结构配置中轻松点一点,代码就生成(或更新),业务就完成,让您畅享程序人生。

代码生成与更新

对于配置的数据结构与关联关系,点击生成代码,即可自动生成涵盖entity、vo、mapper、service、controller等的代码,重启后即可使用该数据对象所对应的接口。

我们使用代码更新功能可以确保在更新了字段名称或者关联关系之后,代码的对应方法和字段得到更新而不影响我们自己写的那些代码。

值得注意的是,代码更新功能也将会在您更改了字段名后,自动查找关联了该字段的所有关联关系,将与其有关系的关联代码一并自动更改掉。

详细的更新内容请参考发布列表

升级该版本

  • 如果您是新用户,可以以上面方式,引入我们的依赖,配置好配置文件开始使用即可。
  • 如果您项目中使用了之前的RC版本,升级该版本将会新增Entity、Service等的基础类的文件,并且BaseCrudMappingRestController中的代码也有一些差异,我们建议你直接去掉BaseCrudMappingRestController文件中调用createEntity和updateEntity方法中的result参数即可。

相关链接

收藏 (0)

相关文章

    文章评论

    共有0条评论来说两句吧...