溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SpringBoot1.X怎么升級到2.X.md

發(fā)布時間:2021-06-26 09:15:09 來源:億速云 閱讀:292 作者:chen 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“SpringBoot1.X怎么升級到2.X.md”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“SpringBoot1.X怎么升級到2.X.md”吧!

簡介

之前的部門管理網(wǎng)站中,缺少部分功能,如發(fā)起了請假申請后,又因為某些原因所以不請假了,這時就發(fā)現(xiàn)沒有刪除請假的功能。

在準(zhǔn)備進(jìn)行功能添加時,發(fā)現(xiàn)這個項目由于啟動于2017年10月,當(dāng)時SpringBoot 2.X還未發(fā)布,所以還是使用1.X版本。介于SpringBoot 1.X版本已經(jīng)宣布停止支持和維護(hù),所以決定借此機(jī)會升級到SpringBoot 2.2.0,遇到一些問題,說明一下。

升級步驟

build.gradle文件升級

首先是修改build.gradle文件,由于gradle本身也在升級中,所以改動并非只有SpringBoot版本相關(guān),還有Gradle版本相關(guān)的變動。

之前的版本,使用了外部變量

buildscript {
    ext {
        springBootVersion ='1.5.9.RELEASE'
    }
}

同時,現(xiàn)在由于SpringBoot完全進(jìn)入gradle的官方插件庫,所以也不在使用原有的

apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

模式,而是使用了新的plugins語法

plugins {
 id 'org.springframework.boot' version '2.2.0.RELEASE'
 id 'io.spring.dependency-management' version '1.0.8.RELEASE'
 id 'java'
 id 'idea'
}

另外,由于JUnit從4升級到5,所以相關(guān)的依賴也要更新,從

testCompile('org.springframework.boot:spring-boot-starter-test')

變?yōu)?/p>

testImplementation('org.springframework.boot:spring-boot-starter-test') {
  exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
 }

SpringBoot的設(shè)定升級

如果用到了文件上傳功能,從1.X升級到2.X后,設(shè)定上傳文件大小限制的參數(shù)也發(fā)生了變化

更變態(tài)的是,原來1.4.X之前和1.4.X之后的設(shè)定還不一樣

1.3.X及更早版本

multipart.maxFileSize=100MB
multipart.maxRequestSize=1000MB

1.4之后版本

spring.http.multipart.maxFileSize=100MB
spring.http.multipart.maxRequestSize=1000MB

2.X之后版本

spring.servlet.multipart.maxFileSize=100MB
spring.servlet.multipart.maxRequestSize=1000MB

真是逼死程序員系列啊??磥淼煤煤每纯催@份升級指南了

JUnit相關(guān)升級

升級到SpringBoot2系列后,自帶的JUnit會升級到5系列,上述的依賴關(guān)系也發(fā)生變化,注意其中特地去除了junit-vintage-engine,這是一個JUnit4的兼容測試引擎,由于項目本身的單元測試并不是很多,所以為了升級徹底,放棄使用老版本,這也造成了相應(yīng)的測試也要做一些改動。

以下的變化需要改動

@RunWith

JUnit4測試,要用到Spring的能力,需要@RunWith(SpringRunner.class),但是JUnit5后,@SpringBootTest注解直接幫你加了,所以不需要再加這個注解,也可以和Spring正常交互(事實(shí)上,JUnit5也變成@ExtendWith(SpringExtension.class)了,但是由于不用自己手動加,所以就可以簡單認(rèn)為不需要再加@RunWith即可。

@Test, Assertions

JUnit4的@TestassertEquals這類class,都從原來的package移到新的package了

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

@Before, @After

JUnit4中的一些注解,到了JUnit5后發(fā)生了變化,如@Before變成了@BeforeEach,具體的變化,可以參照這里

Thymeleaf升級

隨著SpringBoot的版本升級,Thymeleaf也從2.X升級到了3.0系列,由于出現(xiàn)了一個安全漏洞,所以在3.0.10之后,Thymeleaf模板中的onclick函數(shù)不允許直接傳遞除數(shù)字和布爾型外的參數(shù)。需要進(jìn)行修改。

假設(shè) ${username}的值是一個字符串,那么以前的版本

<button th:onclick="update(|${username}|)">

是正確的,但是到了3.0.10之后,就會出錯,應(yīng)當(dāng)改為

<button th:data-username="|${username}|"
  th:onclick="update(this.getAttribute('data-username'))">

總結(jié)

以上就是本次升級時遇到的一些問題及解決方法。

到此,相信大家對“SpringBoot1.X怎么升級到2.X.md”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI