⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 网络 「网络」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

Spring Boot 2.6.0 发布已经过去大半年了,现在 Spring Boot 2.7.0 如期而至。此版本添加了大量新功能和改进,是一个非常重要的版本。

Spring Boot 接连发布了三个版本:

· Spring Boot 2.7.0(最新)

· Spring Boot 2.6.8

· Spring Boot 2.5.14

后面两个版本都是修复 bug 版本,2.7.0 才是硬菜,毕竟等了大半年。一起来看看它有哪些新特性吧~

自动配置的更改

Spring Boot 2.7.0对自动配置进行了不小的改动。

自动配置注册

新的@AutoConfiguration 注解

引入了新的@AutoConfiguration注释。这个类用于声明在上面自动配置注册中的AutoConfig类,它替代了@Configuration,只有自动配置类才能使用。你还可以通过其 after、afterNames、before、beforeNames 属性代替 @AutoConfigureAfter@AutoConfigureBefore

测试自动化配置

如果你创建了自己的自动化配置类测试,你也应该参考上面自动配置注册的方式配置自动化配置类。参考Spring Boot项目中的spring-boot-test-autoconfigure模块。

操作如下:

@SpringBootTest 配置项优先级

现在你可以通过@SpringBootTest 的properties属性或@TestPropertySource注解添加的测试属性,它的优先级高于通过命令行传递给args的属性。

新的Flyway模块

Spring Boot 2.7 升级到 Flyway 8.5(从 8.0)。自 8.0 版本以来,Flyway 对多个数据库的支持已被提取到新模块中:

\1. flyway-firebird (Firebird)

\2. flyway-mysql (MariaDB and MySQL)

\3. flyway-sqlserver (SQL Server)

如果您使用 Flyway 管理上述数据库,请添加相应新模块的依赖项。

H2数据库的2.1版本

Spring Boot 2.7 已经升级到 H2 2.1.120。H2 2.x 向后不兼容并修复了许多安全漏洞。

Spring Boot 2.5 的弃用

在 Spring Boot 2.5 中不推荐使用的类、方法和属性已在此版本中删除。请确保在升级之前您没有调用过时的方法。

注意!!!

Spring Boot 2.5 版本已经停止OSS支持, 不再提供免费的安全更新和错误 修复。

Spring GraphQL 支持

Spring Boot 2.7现在支持Spring GraphQL,对应的starter是spring-boot- starter-graphql。GraphQL是一种用于API的查询语言,同时也是一个可以满足数据查询的语言。

不透明令牌自省优化

如果您在 OAuth2 资源服务器中使用不透明令牌自省,则自动配置的自省不再需要对 com.nimbusds:oauth2-oidc-sdk 的依赖。您能够从应用程序中删除该依赖项。

Couchbase和Elasticsearch测试注解

增加了@DataCouchbaseTest和@DataElasticsearchTest分别用来测试Couchbase和Elasticsearch数据库。

Podman支持

Maven 和 Gradle 插件现在支持在使用 Cloud Native Buildpacks 构建映像时使用 Podman 容器引擎作为 Docker 引擎的替代方案。

Cache2k 支持

添加了对缓存Cache2k的依赖项管理和自动配置。可以通过定义Cache2kBuilderCustomizerbean 来自定义默认缓存设置。

Jackson Mixin 简化注册

Jackson 的自动配置现在将扫描您的应用程序包以查找带有@JsonMixin注解的Mixin类并注册到 ObjectMapper。

文章目录
  1. 1. 自动配置的更改
    1. 1.1. 自动配置注册
    2. 1.2. 测试自动化配置
  2. 2. 新的Flyway模块
  3. 3. H2数据库的2.1版本
  4. 4. Spring Boot 2.5 的弃用
  5. 5. Spring GraphQL 支持
  6. 6. 不透明令牌自省优化
  7. 7. Couchbase和Elasticsearch测试注解
  8. 8. Podman支持
  9. 9. Cache2k 支持
  10. 10. Jackson Mixin 简化注册