Skip to content

0.7.1

Compare
Choose a tag to compare
@ChinaLym ChinaLym released this 03 Oct 01:45
· 339 commits to master since this release

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