Diboot(轻代码开发平台)
v2.2.0 官方版- 软件大小:0.79 MB
- 更新日期:2021-02-05 09:55
- 软件语言:简体中文
- 软件类别:编程工具
- 软件授权:免费版
- 软件官网:待审核
- 适用平台:WinXP, Win7, Win8, Win10, WinAll
- 软件厂商:
软件介绍 人气软件 下载地址
Diboot是一款开发平台,可以通过这款软件设计新的应用程序和web程序,软件提供基础框架+高效工具,包括core基础内核、IAM权限组件、file文件组件、scheduler定时组件、diboot-antd-admin、diboot-element-admin、devtools开发助理使用这些组件就可以快速配置程序开发方案,从而构建新的程序,您可以部署身份访问控制模块,可以部署文件处理模块,可以为程序添加定时任务,可以配置工作流方案,为用户添加功能模块提供更好的部署方式,结合开发助理实现CRUD完整功能生成、前端组件编排与生成、数据结构代码同步、一键生成后端代码、非覆盖式更新代码、自动维护SQL与索引,如果你需要这款软件就下载吧!
软件功能
极简易用(引入依赖jar,配置参数后,即可随应用启动运行)
功能强大(数据结构与代码同步、前后端一键生成、前端面板组件编排)
配置灵活(可按需配置生成代码路径及启用`Lombok`、`Swagger`等)
代码标准(devtools标准化了数据结构定义与代码实现,降低维护成本)
支持多库(MySQL、MariaDB、ORACLE、SQLServer、PostgreSQL)
软件特色
单表与关联场景CRUD导入导出的完整功能全自动生成,无需手写代码
结合前端面板组件编排能力,覆盖更多场景的自动化生成
数据结构变更与代码联动同步,自动记录变更SQL、维护索引
一键生成代码&非覆盖式更新本地后端代码
配置很灵活(可按需配置生成代码路径,是否启用`Lombok`、`Swagger`等)
SQL与代码很标准(devtools标准化了数据结构定义与代码实现)
使用说明
diboot-IAM 使用说明
#1、引入依赖
或Gradle:
配置了数据库连接,初次启动时iam starter组件会自初始化,生成相关的表及初始数据。
如果使用diboot-devtools,还需要引入devtools相关依赖,可一键生成iam相关的controller。
注: iam初始化的账号密码为: admin/123456 ,启动成功后请及时修改密码。
#2、参数配置:
配置文件配置项:
3、认证与授权
登录/申请token(后端):
前端登录拿到token后缓存并将其加入每次请求的header中,属性名为: authtoken
当token的有效期剩余不足1/4时,组件会自动生成新的token写入response的header中,属性名同样为: authtoken。 前端检查response的header如果有新的authtoken,则替换本地的缓存值。
#4、BindPermission注解使用
支持在Controller的类及方法上添加,权限识别码支持类似Spring @RequestMapping注解的“类+方法”拼接功能, 方法上的注解支持自动鉴权,同时可被继承。如:
BindPermission注解支持自动提取需要认证的接口列表,提供给前端进行快捷绑定。
#5、Log操作日志注解使用
@Log 注解支持自动记录操作日志至iam_operation_log表,Log注解支持在RequestMapping方法上直接添加。
支持在Controller的方法上添加,如:
6、登录/注册/退出
登录:
退出:
注册账号
获取当前用户对象:
diboot-IAM: 身份认证组件
#1、扩展其他登录方式
默认的登录方式为:用户名密码,如需扩展其他登录方式:
创建你的认证凭证对象,继承自AuthCredential
实现AuthService接口,定义认证方式及接口实现
申请token替换为你的认证方式:
2、替换用户类型或扩展多种用户类型
默认的用户实体为IamUser,获取当前登录用户对象:
如果预置属性如果不能满足业务场景需要,可替换用户为你的实体:
首先在登录的方法中,生成token前传入当前用户类型: (如果有多种用户类型共用登录接口,可以从前端登录页传入"用户类型值")
获取用户对象相关代码改为:
或多种用户:
3、替换缓存Manager
组件默认缓存类为shiro的内存缓存实现:MemoryConstrainedCacheManager,如果需要替换为redis等自定义缓存, 需要创建缓存实现类实现CacheManager接口 (可以参考MemoryConstrainedCacheManager的源码)。
#step1. 依赖spring-boot-starter-data-redis,并配置参数,初始化RedisTemplate
step2. 创建Redis缓存管理类继承自AbstractCacheManager,重写createCache。
实现shiro的Cache接口:
step3. 配置shiro的CacheManager为你的CacheManager缓存类实例
4. 自定义数据权限
某些场景下搜索查询需要绑定一些强制条件,用于数据权限控制,如只能查询本部门的数据。
#step1. 在需要数据权限控制的Entity中的字段上添加@DataAccessCheckpoint注解,指定CheckpointType。
示例代码:
step2. 实现DataAccessInterface接口,返回当前用户可访问的对应CheckpointType的合法ID集合
step3. Spring config类中配置Mybatis-plus数据权限拦截器,启用数据权限拦截
5. 将JWT的token实现改为无状态token
since v2.2 配置类中重新定义BasicHttpAuthenticationFilter,换成StatelessJwtAuthFilter。示例代码如下:
常见问题
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并做了初始化配置。 其中关键配置参数为:
如果该配置无法满足您的开发场景,可以在Configuration文件中重新定义HttpMessageConverters:
引入diboot-core-starter后,SQL分页查询出现重复的LIMIT
重复定义了分页导致的,diboot-core-starter默认预置了mybatis-plus的分页配置(使用mybatis-plus 3.4.x的MybatisPlusInterceptor最新配置方式)。 如果您依赖的是core-starter,则无需再次配置mybatis-plus的分页,将您自定义的mybatis-plus分页配置删掉即可。 如果需要添加其他Interceptor,则需要重新定义MybatisPlusInterceptor。 示例如下:
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)
2、如果只依赖core,你还需要将com.diboot.core加入包扫描并实现HttpMessageConverters和Mybatis-plus的分页配置:
3、如果只依赖core,且需要使用@BindDict字典绑定,需实现DictionaryServiceExtProvider接口。 (使用diboot-core-starter可以自动创建dictionary表,或者可以下载SQL (opens new window)手动建表。
#启动报错:找不到mapper中的自定义接口
diboot-devtools默认不指定mapper.xml路径时,mapper.xml文件会生成到mapper同路径下便于维护。 此时需要修改pom配置,让编译包含xml、dtd类型文件。
Maven配置:
Gradle配置:
如何构建树形结构?
树形结构对象约定:要有 parentId属性(根节点为0) 和 List children 属性,便于自动构建。
先把需要构建树形结构的节点全部查出来,如:
调用BeanUtils.buildTree构建树形结构
返回第一级子节点集合。
更新日志
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
数据字典列表不显示其子项的系列操作按钮
数据字典列表中显示出子项的编码值
修复:
角色权限表单中不设置权限时,表单不能提交的问题
人气软件
-
redis desktop manager2020.1中文 32.52 MB
/简体中文 -
s7 200 smart编程软件 187 MB
/简体中文 -
GX Works 2(三菱PLC编程软件) 487 MB
/简体中文 -
CIMCO Edit V8中文 248 MB
/简体中文 -
JetBrains DataGrip 353 MB
/英文 -
Dev C++下载 (TDM-GCC) 83.52 MB
/简体中文 -
TouchWin编辑工具(信捷触摸屏编程软件) 55.69 MB
/简体中文 -
信捷PLC编程工具软件 14.4 MB
/简体中文 -
TLauncher(Minecraft游戏启动器) 16.95 MB
/英文 -
Ardublock中文版(Arduino图形化编程软件) 2.65 MB
/简体中文