0.7.1
Too Many Surprising Changes To Say! See in ChangeLog-0.7.1
更新较多,列出主要更新:
-
shoulder 不再为除spring boot外的三方jar定制能力(如mybatis-plus)以减少三分jar定制功能学习成本,
也不考虑没有spring上下文的情况,本框架强依赖Spring,定位为Spring的能力扩展。 -
升级到了 SpringBoot 2.7.x,
关于springfox升级注意事项spring boot2.x升级到2.6 -
升级2.7注意: https://spring.io/blog/2022/05/19/spring-boot-2-7-0-available-now
- META-INF/spring.factories - META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
-
DB
- 自动判断是否存在分布式事务问题,默认仅开发时生效
- TransactionSynchronizationManager.isActualTransactionActive() 判断是否有 @transactional
- 且该方法是写的(C/U/D)支持扩展这里
- 拿到数据源
- 判断是否是同一个事务管理器(不是则可能有分布式事务问题)
!null
&&正在事务
&&TransactionSynchronizationManager.getResource(dataSource) == null
||isTransactionActive=false
- 自动判断是否存在分布式事务问题,默认仅开发时生效
-
core
- 调整部分内置错误码定义
- json 日期格式按照统一设置
- 增加了部分高性能的数据结构,以适用于企业级流量染色场景
-
autoconfiguration
- 兼容性优化:调整功能自动激活逻辑,增加部分功能关闭开关
- 集群模式下不需要手动注入 instanceId,由依赖手动注入改为 默认配置 + WARN 日志提醒
-
操作日志
- 优化扩展,支持自定义解析逻辑,以支持在记录操作日志时,同时记录其他信息:OperationLoggerInterceptor
-
batch
- 批处理模块支持导出导出,进度条等基本逻辑,上升至无依赖任务批处理
- 新增支持并发 process,允许单独使用,见 spider 项目
-
log
- Logger 分割,定义更明确,以满足更多的日志文件划分方式,以应对大业务量的场景
- 新增 缓存(redis) 访问日志输出,默认只对慢查询、大数据做一定记录
- 新增统计日志(stat-log),REST 分钟级访问统计
- 异常日志新增链路上下文打印
- 追踪日志更详细:digest、stat
-
安全与加密-脱敏
- 敏感词过滤
- 字段名-脱敏 shielder 算法id-脱敏算法实现
- 注解形式,输出时自动脱敏
AuthServer 因 Spring Security OAuth 项目废弃,暂时废弃,将在下一版本待 spring-auth-server 稳定后一起回归
-
redis 连接池事件监听聚合接口
- LettuceEventConsumer
-
monitor 部分能力增强
-
稳定性提升:bugfix、compile warning
-
依赖升级
springboot 2.4.5 -> 2.7.16
spring-cloud 2020.0.2 -> 2021.0.1
swagger2 1.6.2 -> 1.6.11(默认不引入)
swagger3 2.1.9 -> 2.2.16(默认不引入)
nimbus-jose-jwt 8.21 -> 9.35
hutool 5.8.22 -> 5.8.22
xstream 1.4.17 -> 1.4.20
guava 30.1.1-jre -> 31.2-jre
alibaba.transmittable 2.12.1 -> 2.14.3
bcprov.jdk15on 1.68 -> 1.70
bcpkix.jdk15on 1.68 -> 1.70
caffeine 2.8.5 -> 3.0.5(默认不引入)
tika-core 1.24.1 -> 2.9.0
opencsv 4.1 -> 5.6
h2 1.4.200 -> 2.2.224
redisson -> 3.23.5
mybatis-plus 3.4.2 -> 3.5.3.2
p6spy 3.3.2 -> 3.9.1
knife4j 3.0.2 -> 3.0.3
jna 5.8 -> 5.13
javassist 3.27.0-GA -> 3.29.2-GA
lombok 1.18.30
druid 1.2.4 -> 1.2.8
mysql-connector-j -> 8.1.0 mysql artifactId 变更
---
maven-compiler-plugin 3.8.1 -> 3.11.0
maven-gpg-plugin 3.0.1 -> 3.1.0
maven-source-plugin 3.2.1 -> 3.3.0
maven-javadoc-plugin 3.2.0 -> 3.6.0
maven-jar-plugin 3.2.0 -> 3.3.0
maven-surefire-plugin 2.22.2 -> 3.1.2
license-maven-plugin 2.0.0 -> 2.2.0
sonar-maven-plugin 3.7.0.1746 -> 3.10.0.2594
versions-maven-plugin 2.7 -> 2.16.1
git-commit-id-plugin 2.1.5 -> 6.0.0(groupId变化)
errcode-maven-plugin --> shoulder-maven-plugin
maven-resources-plugin 3.0.2 -> 3.3.1
maven-archetype-plugin 3.2.0 -> 3.2.1
archetype-packaging 3.2.0 -> 3.2.1