Spring Boot 2.0.0 终于正式发布,重大修订版本

小微 科技Spring Boot 2.0.0 终于正式发布,重大修订版本已关闭评论85字数 2538阅读模式
摘要监控方面,Spring Boot 2 增强了对 Micrometer 的集成。RabbitMQ、JVM 线程和垃圾收集指标会自动进行 instrument 监控,异步控制器(con...

监控方面,Spring Boot 2 增强了对 Micrometer 的集成。RabbitMQ、JVM 线程以及垃圾搜集指标会自动进行 instrument 监控,异步节制器(controller)也会自动添加到监控里。通过集成,还可以对 InfluxDB 服务器进行监控。

数据方面,Spring Boot 2 让你能够以更为细粒度的方式自定义 Hibernate 属性。此外,还可以暴露 RedisCacheConfiguration,从而节制 RedisCacheManager。Flyway 以及 Liquibase 配置也更灵便。文章源自微观生活(93wg.com)微观生活-https://93wg.com/14551.html

另外,Spring Boot 2 也大大增强了对 GSON 的支撑,还包括了改良的 actuator JSON 架构。文章源自微观生活(93wg.com)微观生活-https://93wg.com/14551.html

还有一个值得关注的变更就是 Spring Boot banner —— 即启动时的 ASCII 图象,它被开发团队广泛利用于展现自己的利用品牌信息。在 Spring Boot 2 中,现已支撑动画 GIF。文章源自微观生活(93wg.com)微观生活-https://93wg.com/14551.html

值得注意的是,在 Spring Boot 2.0 中,许多配置属性已被重命名或被删除了,为了利便进级,Spring Boot 发布了一个新的 spring-boot-properties-migrator 模块。只要将其作为依赖添加到项目中,它不但会分析利用程序的环境并在启动时打印诊断信息,而且还会在运行时阶段为项目临时将属性迁移至新的配置方式。文章源自微观生活(93wg.com)微观生活-https://93wg.com/14551.html

有关 Spring Boot 2.0 更详细的迁移指南,可以维持关注咱们正在翻译的官方文档:文章源自微观生活(93wg.com)微观生活-https://93wg.com/14551.html

https://www.oschina.net/translate/spring-boot-2-0-migration-guide文章源自微观生活(93wg.com)微观生活-https://93wg.com/14551.html

支撑 Java 9文章源自微观生活(93wg.com)微观生活-https://93wg.com/14551.html

Spring Boot 2 最值得期待的新功能莫过于对 Java 9 的正式支撑,现在请求最低的 JDK 版本是 Java 8,这象征着不可使用 JDK 7 或更旧的版本运行 Spring Boot 2。文章源自微观生活(93wg.com)微观生活-https://93wg.com/14551.html

Spring Framework文章源自微观生活(93wg.com)微观生活-https://93wg.com/14551.html

Spring Framework 5.0 现已与 Spring Boot 集成。Spring Framework 5.0 一些有趣的功能:文章源自微观生活(93wg.com)微观生活-https://93wg.com/14551.html

支撑 JDK 9 以及 Java EE 8 级别的 API(如 Servlet 4.0)

与 Reactor 3.1, JUnit 5, 以及 Kotlin 语言的全面集成

带来了许多函数式 API 变体 (functional API variants)

响应式堆栈 Web 框架 —— Spring WebFlux

完整支撑 JUnit 5 Jupiter,因而可以在 JUnit 5 中编写测试

添加对 @Nullable 以及 @NotNull 注解的支撑,以在编译时而不是运行时处理空指针异样

Spring Security

尽管 Spring Security 并不是是 Spring Boot 的正式组成部份,但这里仍值得一提,由于它能与 Spring Framework 5.0 很好地搭配使用。最新的 Spring Security 5 提供了超过 400 多项的功能增强以及过错修复。有下列值得关注的新功能:

用户可通过 OAuth 2.0 provider 使用现有帐户进行身份验证

与 Spring Framework 5 同样,Spring Security 5 也添加了对响应式编程的支撑

以更现代的方式完成对密码的编码

@ConditionalOnBean

从 Spring Boot 1.x 迁移到 2.x 时需要斟酌的重要一点是,当肯定前提是不是知足时,@ConditionalOnBean 注解现在使用逻辑 AND 而不是逻辑 OR 来表示。

对 WebFlux 以及 WebFlux.fn 的支撑

Spring Boot 2.0 为响应式的 Spring Web 框架提供了一个新的启动器 — spring-boot-starter-webflux,spring-boot-starter-webflux 自身包括 WebFlux,再加之 Reactor Netty 作为默许的 Web 引擎(spring-boot-starter-reactor-netty)。

可使用 @WebFluxTest 来测试响应式的节制器,它为 Spring MVC 提供了相似于 @WebMvcTest 的支撑,而且 WebTestClient 是自动配置的。

最低支撑版本的更新

Jetty 9.4

Tomcat 8.5

Hibernate 5.2

Gradle 3.4

Thymeleaf

Spring Boot 2 另外一个值得关注的新特性是现已正式支撑 Thymeleaf 3,包括了对 Thymeleaf 以及 Spring Security Thymeleaf 依赖关系的更新。Thymeleaf 3 中值得关注的变化:

因为使用了新的解析系统,Thymeleaf 再也不基于 XML

引入新的文本模板模式,它给 Thymeleaf 提供了输出 CSS,Javascript 以及纯文本的功能

重写了引擎,性能显著晋升

最后的话

Spring Boot 2 是一个重大版本,下列新增的特性也许是你选择进级的理由:

支撑 Java 9

对响应式利用更好的支撑

支撑 Thymeleaf 3

请求

Spring Boot 2.0 是首个支撑 Java 9 的版本(同时支撑 Java 8)。如果你正在你使用 1.5.0 并但愿使用 Java 9,你应当进级到 2.0 版本,官方表示目前没有规划在 Spring Boot 1.5.x 系列上支撑 Java 9。

AspectJ

使用 Java 9,如果你需要编译 JDK 中的类,则需要使用 AspectJ 1.9(目前处于 RC 阶段)。这是一个临时的解决方案,由于 Aspect 1.9 GA 行将推出,而且 Spring Boot 也将进级到该版本。在大多数情况下,使用 AspectJ 1.8(Spring Boot snapshot 中的默许版本),Spring AOP 也能正常运行。

JAXB

进级时可能会遇到下列情况:

Hibernate 通常需要的 JAXB 再也不默许提供。你需要为你的项目添加下列依赖:

或者你可以添加 java.xml.bind 模块以使用 Java 9 恢复该功能。

Testing

使用 Java 9 进行测试时,最新的 maven-surefire-plugin 版本(2.20.1)引入了回归过错,你可以降级到 2.20.0,或显式添加一个模块以避免引入 java.se.ee:

以上就是微观生活(93wg.com)关于“Spring Boot 2.0.0 终于正式发布,重大修订版本”的详细内容,希望对大家有所帮助!

继续阅读
 
小微
  • 版权声明: 本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:81118366@qq.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
  • 转载请务必保留本文链接:https://93wg.com/14551.html