Spring Boot 从1.5迁移到2.0.5 - DZone Java


虑升级Spring Boot应用程序?在这篇文章中,我想引导您完成将Spring Boot 1.x应用程序升级到Spring Boot 2的过程。

Spring Boot 2.x将不再支持Java 7及更低版本,Java 8是最低要求。
它也是第一个支持Java 9的版本。没有计划在1.x分支上支持Java 9。如果您想使用最新的Java版本并充分利用该框架,Spring Boot 2.x是您唯一的选择。

Gradle最低支持版本为3.4。
Gradle具有许多增值功能,可以依赖于中央存储库。
为了创建胖jar,bootRepackage Gradle的任务将被替换为  bootJar 和  bootWar ,分别用来构建JarWar包。
有趣的是,默认情况下Spring Boot 2.x将不再应用依赖管理插件。
如果您想要Spring Boot依赖关系管理,那么您应该添加:
apply plugin: 'io.spring.dependency-management'

关于最低要求版本的一些亮点:

  • Tomcat最低支持版本为8.5
  • Hibernate最低支持版本是5.2

升级步骤
步骤1:
假设您使用Gradle构建工具构建应用程序,build.gradle文件应如下所示:

buildscript {
repositories { 
   jcenter()
   mavenCentral()
}
dependencies {
  classpath("org.springframework.boot:spring-boot-gradle-plugin:2.0.5.RELEASE")
 }
}
plugins {
   id 'org.springframework.boot' version '2.0.5.RELEASE'
}
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'org.springframework.boot'
dependencies 
{
  compile group: 'javax.servlet', name: 'javax.servlet-api', version: '3.1.0'
  compile group: 'org.springframework.boot', name: 'spring-boot-starter-web'
}

现在,这将下载Spring Boot verison 2.0.5版本所需的所有依赖jar文件

步骤2:
如果在应用程序中使用了以下任何属性,请按如下所示更改应用程序属性:
许多servlet。*属性已移至server.servlet:

旧属性                             新属性
server.context-parameters.*        server.servlet.context-parameters.*
server.context-path             server.servlet.context-path
server.jsp.class-name            server.servlet.jsp.class-name
server.jsp.init-parameters.*       server.servlet.jsp.init-parameters.*
server.jsp.registered            server.servlet.jsp.registered
server.servlet-path             server.servlet.path

步骤3:
替换已弃用的方法和类。

旧:org.springframework.web.context.request.RequestAttributes   
新:org.springframework.web.context.request.WebRequest

旧:org.springframework.data.querydsl.QueryDslPredicateExecutor 
新:org.springframework.data.querydsl.QuerydslPredicateExecutor

旧:org.springframework.boot.autoconfigure.web.DefaultErrorAttributes
新:org.springframework.boot.web.servlet.error.DefaultErrorAttributes

旧:org.springframework.web.context.request.ServletRequestAttributes
新:org.springframework.web.context.request.ServletWebRequest

旧:org.springframework.boot.web.support.SpringBootServletInitializer
新:org.springframework.boot.web.servlet.support.SpringBootServletInitializer

旧:WebConfigurer
新:WebMvcConfigurer

步骤4:
现在,运行你的主类。您的应用程序应该正常运行。