# v2.1.2 升级至 v2.2.x

# 组件更改说明

该升级指南以v2.1.2版本为基准,更早的版本请先参考之前版本的升级文档。

将diboot所有的组件版本号替换至2.2.0的最新版本,然后按照下述内容进行相关更改即可。

v2.2是基于spring boot 2.4的版本,相较于之前的版本变动较大,相关的starter组件不再提供自动升级,请对照如下说明手动升级。

# diboot-core & diboot-core-starter

  • 移除了fastjson、commons-io依赖
  • diboot-core中原依赖mybatis-plus-starter改为依赖mybatis-plus;diboot-core-starter依赖mybatis-plus-starter,以降低复杂环境下的冲突可能
  • JSON转换实现替换为spring的默认依赖jackson,core中的JSON工具类尽可能做了兼容。相关的fastjson注解方法需要同步更改为jackson:
    • @JSONField(format=) 改为 @JsonFormat(pattern=D.FORMAT_XX)
    • 改为 @JsonIgnore
  • v2.2.0 版本开始,dictionary系统预置表新增了app_module字段,便于扩展支持多模块复用场景。 需要手动在以上表中添加该字段。参考DDL(Mysql):
ALTER TABLE dictionary ADD COLUMN app_module varchar(50) NULL COMMENT '应用模块' AFTER tenant_id;
1
  • 字典绑定的实现类从core拆分移至core-starter, 如果您的项目只使用了core(非core-starter),需要用BindDict注解,则需要参考core-starter中的DictionaryServiceImpl类实现DictionaryServiceExtProvider接口。 使用core-starter不受此影响。
  • BaseController父类中的buildQueryWrapper接口标记废弃,建议根据情况还用明确语义的buildQueryWrapperByDTO和buildQueryWrapperByParams接口,避免歧义。
  • 新版本的Mybatis-Plus改变了分页拦截器的初始化方式,diboot-core-starter已默认初始化了分页拦截器,如果您依赖了diboot-core-starter需要删掉自己的初始化拦截器。
  • v2.2.x版本依赖组件升级为: Spring Boot 2.4.x,Mybatis-Plus 3.4.x。根据您的依赖情况,可能会有依赖冲突需要解决。

# diboot-iam

  • 组件名由diboot-iam-base-spring-boot-starter改为diboot-iam-spring-boot-starter。
  • iam_frontend_permission表 统一改成 iam_resource_permission (相关类名变量命中的"IamFrontendPermission"等统一改成IamResourcePermission),其中: frontendCode 字段改为 resourceCode
  • iam_role_permission表 统一改成 iam_role_resource (相关类名变量命中的"IamRolePermission"等统一改成"IamRoleResource"),其中: permissionId 字段改为 resourceId
  • IamBaseProperties 更名为IamProperties。
  • v2.2.0 版本开始,以下系统预置表新增了app_module字段,便于扩展支持多模块复用场景。
    • iam_operation_log
    • iam_resource_permission表 需要手动在以上表中添加该字段。参考DDL(Mysql):
ALTER TABLE iam_operation_log ADD COLUMN app_module varchar(50) NULL COMMENT '应用模块' AFTER tenant_id;
ALTER TABLE iam_resource_permission ADD COLUMN app_module varchar(50) NULL COMMENT '应用模块' AFTER tenant_id;
1
2
  • shirocacheManager缓存管理类的配置文件指定class方式废弃,改为在config类中声明@Bean的方法自定义。

# diboot-file

  • v2.2.0 版本开始,upload_file系统预置表新增了app_module字段,便于扩展支持多模块复用场景。 需要手动在以上表中添加该字段。参考DDL(Mysql):
ALTER TABLE upload_file ADD COLUMN app_module varchar(50) NULL COMMENT '应用模块' AFTER tenant_id;
1

# 前端升级说明

  • diboot-antd-admin前端调整

升级前请下载diboot-antd-admin 2.2.0 (opens new window)源码包,以下升级流程将依赖此包。

  • diboot-element-admin前端调整

升级前请下载diboot-element-admin 2.2.0 (opens new window)源码包,以下升级流程将依赖此包。

  • 对比新旧版本的dictionary字典管理功能相关页面,替换或合并至本地。
  • 对比新旧版本的orgStructure组织管理功能相关页面,替换或合并至本地。