Springboot2.5新特性详解

      SpringBoot2.5新特性详解

      SpringBoot2.4新特性详解

      SpringBoot2.3新特性详解

      SpringBoot2.2新特性详解

1、SQL脚本数据源初始化

Spring Boot 2.5 中重新设计了用于支持schema.sqldata.sql脚本的底层方法。 spring.datasource.*DataSource初始化相关的属性已被弃用,取而代之的是新spring.sql.init.*属性。这些属性还可用于初始化通过 R2DBC 访问的 SQL 数据库。

schema.sql和data.sql文件

对于 Spring Boot 2.5.1 及更高版本,新的 SQL 初始化属性支持检测 JDBC R2DBC 的嵌入式数据源。默认情况下,SQL 数据库初始化仅在使用嵌入式内存数据库时执行。要始终初始化 SQL 数据库,无论其类型如何,请设置spring.sql.init.modealways. 同样,要禁用初始化,请设置spring.sql.init.modenever

2、Spring Data JPA

Spring Data JPA 引入了一种新getById方法来取代getOne. 如果您发现您的应用程序正在抛出一个LazyLoadingException请将任何现有getById方法重命名为getXyzById(其中xyz是任意字符串)。

3、Spring Data Solr

2021.0.0 Spring Data 中删除之后,此版本中删除了 Spring Data Solr 的自动配置。

4、任务调度协调与 Spring 集成

Spring Integration 现在重用一个可用的TaskScheduler而不是配置它自己的。在依赖自动配置的典型应用程序设置中,这意味着 Spring Integration 使用池大小为 1 的自动配置的任务调度程序。要恢复 Spring Integration 的默认 10 个线程,请使用该spring.task.scheduling.pool.size属性。

5、环境变量前缀

现在可以为系统环境变量指定前缀,以便您可以在同一环境中运行多个不同的 Spring Boot 应用程序。使用SpringApplication.setEnvironmentPrefix(… )设置要绑定属性时要使用的前缀。

例如,以下将添加myapp前缀:

SpringApplication application = new SpringApplication(MyApp.class);
application.setEnvironmentPrefix("myapp");
application.run(args);

所有属性现在都需要一个带前缀的版本。例如,要更改服务器端口,您可以设置MYAPP_SERVER_PORT。

6、基于 TCP 的 HTTP/2 (h2c)

所有四个嵌入式 Web 容器现在都支持 HTTP/2 over TCP (h2c),无需任何手动定制。要启用 h2c,请设置server.http2.enabledtrue并保留server.ssl.enabled设置为false(其默认值)。

7、War分层

Spring Boot Maven 和 Gradle 插件现在允许您创建分层 WAR 以与 Docker 映像一起使用。分层 WAR 的工作方式与早期版本的 Spring Boot 中提供的分层 JAR 支持类似。

8、Java16支持

提供支持并针对 Java 16 进行了测试。Spring Boot 2.5 仍然与 Java 8 兼容。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章