安下载编程开发

分类分类

Diboot(轻代码开发平台)

Diboot(轻代码开发平台)

v2.2.0 官方版

大小:0.79 MB 更新:2021/02/05

类别:编程工具系统:WinXP, Win7, Win8, Win10, WinAll

立即下载

  Diboot是一款开发平台,可以通过这款软件设计新的应用程序和web程序,软件提供基础框架+高效工具,包括core基础内核、IAM权限组件、file文件组件、scheduler定时组件、diboot-antd-admin、diboot-element-admin、devtools开发助理使用这些组件就可以快速配置程序开发方案,从而构建新的程序,您可以部署身份访问控制模块,可以部署文件处理模块,可以为程序添加定时任务,可以配置工作流方案,为用户添加功能模块提供更好的部署方式,结合开发助理实现CRUD完整功能生成、前端组件编排与生成、数据结构代码同步、一键生成后端代码、非覆盖式更新代码、自动维护SQL与索引,如果你需要这款软件就下载吧!

Diboot(轻代码开发平台)

软件功能

  极简易用(引入依赖jar,配置参数后,即可随应用启动运行)

  功能强大(数据结构与代码同步、前后端一键生成、前端面板组件编排)

  配置灵活(可按需配置生成代码路径及启用`Lombok`、`Swagger`等)

  代码标准(devtools标准化了数据结构定义与代码实现,降低维护成本)

  支持多库(MySQL、MariaDB、ORACLE、SQLServer、PostgreSQL)

软件特色

  单表与关联场景CRUD导入导出的完整功能全自动生成,无需手写代码

  结合前端面板组件编排能力,覆盖更多场景的自动化生成

  数据结构变更与代码联动同步,自动记录变更SQL、维护索引

  一键生成代码&非覆盖式更新本地后端代码

  配置很灵活(可按需配置生成代码路径,是否启用`Lombok`、`Swagger`等)

  SQL与代码很标准(devtools标准化了数据结构定义与代码实现)

使用说明

  diboot-IAM 使用说明

  #1、引入依赖

Diboot(轻代码开发平台)

  或Gradle:

Diboot(轻代码开发平台)

  配置了数据库连接,初次启动时iam starter组件会自初始化,生成相关的表及初始数据。

  如果使用diboot-devtools,还需要引入devtools相关依赖,可一键生成iam相关的controller。

  注: iam初始化的账号密码为: admin/123456 ,启动成功后请及时修改密码。

  #2、参数配置:

  配置文件配置项:

Diboot(轻代码开发平台)

  3、认证与授权

  登录/申请token(后端):

Diboot(轻代码开发平台)

  前端登录拿到token后缓存并将其加入每次请求的header中,属性名为: authtoken

  当token的有效期剩余不足1/4时,组件会自动生成新的token写入response的header中,属性名同样为: authtoken。 前端检查response的header如果有新的authtoken,则替换本地的缓存值。

  #4、BindPermission注解使用

  支持在Controller的类及方法上添加,权限识别码支持类似Spring @RequestMapping注解的“类+方法”拼接功能, 方法上的注解支持自动鉴权,同时可被继承。如:

Diboot(轻代码开发平台)

  BindPermission注解支持自动提取需要认证的接口列表,提供给前端进行快捷绑定。

  #5、Log操作日志注解使用

  @Log 注解支持自动记录操作日志至iam_operation_log表,Log注解支持在RequestMapping方法上直接添加。

  支持在Controller的方法上添加,如:

Diboot(轻代码开发平台)

  6、登录/注册/退出

  登录:

Diboot(轻代码开发平台)

  退出:

Diboot(轻代码开发平台)

  注册账号

Diboot(轻代码开发平台)

  获取当前用户对象:

Diboot(轻代码开发平台)

  diboot-IAM: 身份认证组件

  #1、扩展其他登录方式

  默认的登录方式为:用户名密码,如需扩展其他登录方式:

  创建你的认证凭证对象,继承自AuthCredential

  实现AuthService接口,定义认证方式及接口实现

  申请token替换为你的认证方式:

Diboot(轻代码开发平台)

  2、替换用户类型或扩展多种用户类型

  默认的用户实体为IamUser,获取当前登录用户对象:

Diboot(轻代码开发平台)

  如果预置属性如果不能满足业务场景需要,可替换用户为你的实体:

  首先在登录的方法中,生成token前传入当前用户类型: (如果有多种用户类型共用登录接口,可以从前端登录页传入"用户类型值")

Diboot(轻代码开发平台)

  获取用户对象相关代码改为:

Diboot(轻代码开发平台)

  或多种用户:

Diboot(轻代码开发平台)

  3、替换缓存Manager

  组件默认缓存类为shiro的内存缓存实现:MemoryConstrainedCacheManager,如果需要替换为redis等自定义缓存, 需要创建缓存实现类实现CacheManager接口 (可以参考MemoryConstrainedCacheManager的源码)。

  #step1. 依赖spring-boot-starter-data-redis,并配置参数,初始化RedisTemplate

Diboot(轻代码开发平台)
Diboot(轻代码开发平台)

  step2. 创建Redis缓存管理类继承自AbstractCacheManager,重写createCache。

Diboot(轻代码开发平台)

  实现shiro的Cache接口:

Diboot(轻代码开发平台)

  step3. 配置shiro的CacheManager为你的CacheManager缓存类实例

Diboot(轻代码开发平台)

  4. 自定义数据权限

  某些场景下搜索查询需要绑定一些强制条件,用于数据权限控制,如只能查询本部门的数据。

  #step1. 在需要数据权限控制的Entity中的字段上添加@DataAccessCheckpoint注解,指定CheckpointType。

  示例代码:

Diboot(轻代码开发平台)

  step2. 实现DataAccessInterface接口,返回当前用户可访问的对应CheckpointType的合法ID集合

Diboot(轻代码开发平台)

  step3. Spring config类中配置Mybatis-plus数据权限拦截器,启用数据权限拦截

Diboot(轻代码开发平台)

  5. 将JWT的token实现改为无状态token

  since v2.2 配置类中重新定义BasicHttpAuthenticationFilter,换成StatelessJwtAuthFilter。示例代码如下:

Diboot(轻代码开发平台)

常见问题

  diboot-iam-spring-boot-starter相关

  #diboot支持Spring Boot哪些版本?

  diboot 2.0.x 支持 Spring boot 2.2.x

  diboot 2.1.x 支持 Spring boot 2.3.x

  diboot 2.2.x 支持 Spring boot 2.4+

  #IAM的后端代码在哪里?

  IAM的后端基础代码由devtools自动生成

  配置好diboot组件依赖和devtools依赖

  启动项目,进入devtools的组件初始化页面,选择core及IAM等组件,执行初始化

  devtools将生成IAM基础的代码到你配置的路径下

  注:diboot-example (opens new window)中包含可供参考的后端示例:diboot-iam-example(IAM示例代码) 及diboot-online-demo(线上演示项目)。

  #如何自定义jackson配置

  diboot-core-starter中包含默认的HttpMessageConverters配置,启用jackson并做了初始化配置。 其中关键配置参数为:

Diboot(轻代码开发平台)

  如果该配置无法满足您的开发场景,可以在Configuration文件中重新定义HttpMessageConverters:

Diboot(轻代码开发平台)

  引入diboot-core-starter后,SQL分页查询出现重复的LIMIT

Diboot(轻代码开发平台)

  重复定义了分页导致的,diboot-core-starter默认预置了mybatis-plus的分页配置(使用mybatis-plus 3.4.x的MybatisPlusInterceptor最新配置方式)。 如果您依赖的是core-starter,则无需再次配置mybatis-plus的分页,将您自定义的mybatis-plus分页配置删掉即可。 如果需要添加其他Interceptor,则需要重新定义MybatisPlusInterceptor。 示例如下:

Diboot(轻代码开发平台)

  mybatis-plus老项目中想要使用diboot的绑定能力?或在无数据库连接配置文件的module下,使用diboot-core?

  对于没有历史包袱的新项目,我们建议您全使用diboot体系starter组件。 core内核组件有以下两个包:

  diboot-core: 内核代码

  diboot-core-starter: 依赖diboot-core,增加了自动配置及初始化字典表等功能(需要依赖数据库信息)。

  对于mybatis-plus老项目中想要使用diboot的绑定能力 或 在无数据库连接配置文件的module下,使用内核组件,可以只依赖diboot-core,而不是diboot-core-starter。 步骤如下:

  1、添加core依赖(非core-starter)

Diboot(轻代码开发平台)

  2、如果只依赖core,你还需要将com.diboot.core加入包扫描并实现HttpMessageConverters和Mybatis-plus的分页配置:

Diboot(轻代码开发平台)

  3、如果只依赖core,且需要使用@BindDict字典绑定,需实现DictionaryServiceExtProvider接口。 (使用diboot-core-starter可以自动创建dictionary表,或者可以下载SQL (opens new window)手动建表。

  #启动报错:找不到mapper中的自定义接口

  diboot-devtools默认不指定mapper.xml路径时,mapper.xml文件会生成到mapper同路径下便于维护。 此时需要修改pom配置,让编译包含xml、dtd类型文件。

  Maven配置:

Diboot(轻代码开发平台)

  Gradle配置:

Diboot(轻代码开发平台)

  如何构建树形结构?

  树形结构对象约定:要有 parentId属性(根节点为0) 和 List children 属性,便于自动构建。

  先把需要构建树形结构的节点全部查出来,如:

Diboot(轻代码开发平台)

  调用BeanUtils.buildTree构建树形结构

Diboot(轻代码开发平台)

  返回第一级子节点集合。

更新日志

  diboot v2.2.0

  diboot-core v2.2.0 & diboot-core-starter v2.2.0

  新增:

  BatchUpdateEntitiesDTO,用于批量更新操作

  HttpHelper、AnnotationUtils工具类

  JsonResult增加JsonResultFilter返回值过滤器接口,用于统一过滤返回给前端的字段

  增强:

  数据字典添加子项排序功能

  Dictionary字典新增app_module字段,支持多模块复用场景

  BindQuery兼容支持IService接口的查询

  BindQuery比对条件增加ENDSWITH,支持“以?结尾”的LIKE查询

  扩展D日期工具类,增加中英文月份星期等方法

  优化:

  默认json转换改为jackson,及JSON工具类适配jackson优化

  Cons类增加常用状态枚举:ENABLE_STATUS、RESULT_STATUS

  core中剥离字典表依赖,字典绑定接口化,字典service实现类和mapper移至core-starter,以适配cloud及缓存等场景

  BaseController中buildQueryWrapper接口拆分为buildQueryWrapperByDTO和buildQueryWrapperByParams,避免歧义

  BaseEntity中的获取主键值的方法getPrimaryKey重命名为getPrimaryKeyVal

  BeanUtils.convertToStringKeyObjectMap支持lambda参数

  BaseService公开IService的query、update等取wrapper接口

  SqlHandler改为SqlFileInitializer并从core-starter移至core

  修复:

  where条件为空时,数据权限拦截报NPE的问题

  角色权限表单不设置权限时提交出错的问题

  升级依赖支持spring-boot 2.4.1,mybatis-plus 3.4.1

  移除fastjson依赖,commons-io依赖

  diboot-IAM starter v2.2.0

  新增:

  新增预置 组织机构、岗位、人员管理功能基础代码

  新增无状态的实现StatelessJwtAuthFilter,以兼容session及无状态两种方式

  增强:

  IamOperationLog、IamResourcePermission新增app_module字段,支持多模块复用场景

  优化:

  IAM基础表重命名: iam_frontend_permission 改成 iam_resource_permission,iam_role_permission 改成 iam_role_resource

  DefaultJwtRealm依赖的service改为懒加载,避免循环依赖冲突

  去掉cacheManager配置项,改用直接重写@bean的方式配置缓存实现类

  shiro初始化相关优化

  组件名 iam-base 改为iam,升级shiro starter至1.7.0

  移除自动升级逻辑、移除ShiroProxyConfig类

  diboot-file starter v2.2.0

  增强:

  UploadFile新增app_module字段,支持多模块复用场景

  文件存储接口化,以支持灵活替换不同的文件存储形式

  优化:

  字典导入,当字典字段允许空时,excel未填写不报错。非字典字段导入的判空提示兼容@NotNull注解。

  上传文件大小配置参数兼容支持: spring.servlet.multipart.max-request-size

  升级easy-excel至2.2.7

  diboot-scheduler starter v2.2.0

  新增:

  新增定时任务组件starter,自动初始化

  封装Quartz定时任务统一管理及日志的更优实践

  @BindJob注解提供定时任务定义,自动收集提取定时任务实例及参数,便于前端管理

  diboot-devtools starter v2.2.0

  新增:

  面板设计器支持"时间轴"组件生成

  面板设计器支持"通用表单"组件生成

  面板设计器支持 "Tabs 标签栏"生成,可自定义标签栏,也可与数据字段关联

  表单类型新增"二维码",支持二维码的显示和下载

  表单字段支持自定义按钮及其处理方法,如弹框选择数据

  支持对表单中的字段是否支持更新的配置生成

  在面板选择的时候,可进行面板的新建与编辑

  对定时任务组件的初始代码controller代码生成

  支持diboot-cloud微服务项目下的生成

  增强:

  详情页设计中添加多个从对象列表,可配置tab显示

  1-1,n-1关联字段属性名支持编辑

  生成的关联对象下拉框组件支持可搜索

  表单页 可配置 字段是否可修改,适配有些字段新增后不可改的场景

  优化:

  空样例值的字段更改为非空时,先填充默认值,再执行更新,避免报错无法更新

  不生成表单页时,同步提示确认是否取消“删除”

  1-1,n-1绑定的时候,更新代码的逻辑优化

  页面、面板配置区域可展开为更宽的宽度

  前端事件编排能力优化

  前端页面、面板设计器系列功能性改进、交互优化

  修复:

  前端upload组件,增加multiple的props属性。修复limitCount大于1,只能文件单个文件的问题

  自动添加的页面权限中,更改功能中缺少获取详情接口的问题

  Boolean类型和日期类型的字段生成的代码,非空校验和回显的问题。

  解决有依赖open-feign环境下的冲突问题

  移除disabled是否启用参数,非开发环境下依赖devtools将报错提示。

  diboot-antd-admin v2.2.0 & diboot-element-admin v2.2.0 前端项目

  新增:

  IAM相关: 组织机构管理、岗位管理、人员管理功能

  数据字典添加排序功能

  scheduler: 定时任务管理

  优化:

  对于不可更改和不可删除的数据字典进行更改与删除的限制

  菜单权限页面改名为资源权限页面,对应的表由iam_frontend_permission改为iam_resource_permission

  数据字典列表不显示其子项的系列操作按钮

  数据字典列表中显示出子项的编码值

  修复:

  角色权限表单中不设置权限时,表单不能提交的问题

精品推荐
同类推荐
相关下载
  • 最新排行
  • 最热排行
  • 评分最高
编程开发排行榜
实时热词