前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Boot 2.0迁移指南主要注意点

Spring Boot 2.0迁移指南主要注意点

作者头像
lyb-geek
发布2018-12-11 11:08:40
8760
发布2018-12-11 11:08:40
举报
文章被收录于专栏:Linyb极客之路Linyb极客之路

Spring官方的Spring Boot 2变动指南,主要是帮助您将应用程序迁移到Spring Boot 2.0,变化部分还是很多很细节的,摘录主要点如下: Spring Boot 2.0需要Java 8或更高版本。不再支持Java 6和7。它还需要Spring Framework 5.0,许多配置属性被重新命名/删除,开发者需要更新他们的application.properties/ application.yml相应。为了帮助您,Spring Boot提供了一个新spring-boot-properties-migrator模块。一旦作为项目的依赖项添加,这不仅会在启动时分析应用程序的环境和打印诊断,还会在运行时为您临时迁移属性。这是您在应用程序迁移期间必须具备的功能:

代码语言:javascript
复制
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-properties-migrator</artifactId>
    <scope>runtime</scope>
</dependency>

Spring Boot现在默认使用CGLIB代理,包括AOP支持。如果需要基于接口的代理,则需要设置spring.aop.proxy-target-class为false

Spring Boot 2中使用ApplicationStartedEvent

添加了一个新类ApplicationStartedEvent。 ApplicationStartedEvent在刷新上下文之后但在调用任何应用程序和命令行运行程序之前发送。 ApplicationReadyEvent在调用任何应用程序和命令行运行程序后发送。它表示应用程序已准备好为请求提供服务。

Spring Boot 2使用Thymeleaf3

在2.0中,我们将Jackson配置默认设置为将JSR-310日期写为ISO-8601字符串。如果要返回先前的行为,可以添加spring.jackson.serialization.write-dates-as-timestamps=true到配置中

Spring Boot 2的安全配置

Spring Boot 2大大简化了默认的安全配置,使添加自定义安全性变得简单。

安全自动配置不再公开选项,并尽可能使用Spring Security默认值。

Spring Boot 2 通过Spring Security 5 提供OAuth 2.0客户端支持

Actuator不再有单独的安全自动配置(management.security.*属性消失)

Spring Boot 2的spring data

Spring Data Kay 重命名了许多CRUD存储库方法。调用重命名方法的应用程序代码必须更新。为了简化迁移,您可能需要考虑使用自定义CrudRepository子接口来声明不推荐使用旧名称的默认方法,并委托给等效的新命名方法。

默认连接池已从Tomcat切换到HikariCP.

DataSource现在,只对嵌入式数据源启用基本初始化,并在使用生产数据库时立即关闭。新的spring.datasource.initialization-mode(替换spring.datasource.initialize)提供更多的控制。

仅当未使用Liquibase或Flyway等架构管理器时,该spring.jpa.hibernate.ddl-auto属性create-drop才会默认使用嵌入式数据库。一旦检测到架构管理器,默认值就会更改为none.

其他

Elasticsearch已升级到5.4+

不再可以自动配置常规HazelcastInstance和专用HazelcastInstance缓存。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Linyb极客之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Spring Boot现在默认使用CGLIB代理,包括AOP支持。如果需要基于接口的代理,则需要设置spring.aop.proxy-target-class为false
    • Spring Boot 2中使用ApplicationStartedEvent
      • Spring Boot 2使用Thymeleaf3
        • Spring Boot 2的安全配置
          • Spring Boot 2的spring data
            • 其他
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档