欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

SpringBoot1.5X怎么升級(jí)到2.0

這篇文章主要介紹了Spring Boot1.5X怎么升級(jí)到2.0的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇Spring Boot1.5X怎么升級(jí)到2.0文章都會(huì)有所收獲,下面我們一起來(lái)看看吧。

成都創(chuàng)新互聯(lián)成立與2013年,先為五原等服務(wù)建站,五原等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為五原企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

前言

依賴(lài) JDK 版本升級(jí)

2.x 至少需要 JDK 8 的支持,2.x 里面的許多方法應(yīng)用了 JDK 8 的許多高級(jí)新特性,所以你要升級(jí)到 2.0 版本,先確認(rèn)你的應(yīng)用必須兼容 JDK 8。

另外,2.x 開(kāi)始了對(duì) JDK 9 的支持。

第三方類(lèi)庫(kù)升級(jí)

2.x 對(duì)第三方類(lèi)庫(kù)升級(jí)了所有能升級(jí)的穩(wěn)定版本,一些值得關(guān)注的類(lèi)庫(kù)升級(jí)我給列出來(lái)了。

1) Spring Framework 5+

2) Tomcat 8.5+

3) Flyway 5+

4) Hibernate 5.2+

5) Thymeleaf 3+

啟動(dòng)類(lèi)報(bào)錯(cuò)

問(wèn)題:

啟動(dòng)類(lèi)SpringBootServletInitializer標(biāo)紅報(bào)錯(cuò),導(dǎo)入的類(lèi)不對(duì)。

原因:

Spring Boot 部署到 Tomcat 中去啟動(dòng)時(shí)需要在啟動(dòng)類(lèi)添加SpringBootServletInitializer,2.0 和 1.0 有區(qū)別。

解決方案:

package com.dudu;

import com.dudu.util.MyMapper;

import org.mybatis.spring.annotation.MapperScan;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.boot.builder.SpringApplicationBuilder;

import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

import org.springframework.transaction.annotation.EnableTransactionManagement;

import javax.sql.DataSource;

@SpringBootApplication

//啟注解事務(wù)管理

@EnableTransactionManagement // 啟注解事務(wù)管理,等同于xml配置方式的 <tx:annotation-driven />

@MapperScan(basePackages = "com.dudu.dao", markerInterface = MyMapper.class)

public class Application extends SpringBootServletInitializer {

@Override

protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {

return application.sources(Application.class);

}

public static void main(String[] args) {

SpringApplication.run(Application.class, args);

}

}

配置文件報(bào)錯(cuò)

問(wèn)題:

配置文件中項(xiàng)目名稱(chēng)配置報(bào)錯(cuò):server.context-path: /spring

原因:

大量的Servlet專(zhuān)屬的server.* properties被移到了server.servlet下:

由此可以看出一些端倪,那就是server不再是只有servlet了,還有其他的要加入。

解決方案:

server.context-path: /spring改成server.servlet.context-path: /spring既可

Web Starter 作為傳遞依賴(lài)

問(wèn)題:

工程用的模板是thymeleaf,啟動(dòng)報(bào)錯(cuò)提示找不到spring-boot-starter-web

原因:

以前有幾個(gè) Spring Boot starter 是依賴(lài)于 Spring MVC 而傳遞的spring-boot-starter-web。在 Spring WebFlux 新的支持下,spring-boot-starter-mustache,spring-boot-starter-freemarker并spring-boot-starter-thymeleaf不再依賴(lài)它。開(kāi)發(fā)者有責(zé)任選擇和添加spring-boot-starter-web或spring-boot-starter-webflux。

解決方案:

導(dǎo)入spring-boot-starter-web既可

<dependency>

 <groupId>org.springframework.boot</groupId>

 <artifactId>spring-boot-starter-web</artifactId>

</dependency>

Thymeleaf 3.0 默認(rèn)不包含布局模塊

問(wèn)題:

啟動(dòng)項(xiàng)目的時(shí)候發(fā)現(xiàn)首頁(yè)空白,查看后臺(tái)也沒(méi)有任何的報(bào)錯(cuò)信息

原因:

Spring Boot 2.0 中spring-boot-starter-thymeleaf 包默認(rèn)并不包含布局模塊,需要使用的時(shí)候單獨(dú)添加。

解決方案:

<dependency>

 <groupId>nz.net.ultraq.thymeleaf</groupId>

 <artifactId>thymeleaf-layout-dialect</artifactId>

</dependency>

攔截器過(guò)時(shí)

問(wèn)題:

升級(jí)后,WebMvcConfigurerAdapter提示過(guò)時(shí)

原因:

升級(jí)后的springBoot,使用了java8的特性 default 方法,所以直接實(shí)現(xiàn) WebMvcConfigurer 這個(gè)接口即可。

解決方案:

舊:

public class MyWebMvcConfigurerAdapter extends WebMvcConfigurerAdapter

新:

public class MyWebMvcConfigurerAdapter implements WebMvcConfigurer

靜態(tài)資源被攔截

問(wèn)題:

訪(fǎng)問(wèn)系統(tǒng)的時(shí)候登錄樣式?jīng)]有加載

原因:

1.5版本時(shí)候META-INF/resources / resources / static / public 都是spring boot 認(rèn)為靜態(tài)資源應(yīng)該放置的位置,會(huì)自動(dòng)去尋找靜態(tài)資源,而在spring boot 2.0則對(duì)靜態(tài)資源也進(jìn)行了攔截,當(dāng)攔截器攔截到請(qǐng)求之后,但controller里并沒(méi)有對(duì)應(yīng)的請(qǐng)求時(shí),該請(qǐng)求會(huì)被當(dāng)成是對(duì)靜態(tài)資源的請(qǐng)求。此時(shí)的handler就是 ResourceHttpRequestHandler,就會(huì)拋出上述錯(cuò)誤。

解決方案:

解決辦法就是,在攔截器那里排除靜態(tài)資源的請(qǐng)求路徑

/** 

* 攔截器 

* @param registry 

*/ 

@Override 

public void addInterceptors(InterceptorRegistry registry) { 

// addPathPatterns 用于添加攔截規(guī)則 

// excludePathPatterns 用戶(hù)排除攔截 

registry.addInterceptor(new MyInterceptor()).addPathPatterns("/**").excludePathPatternss("/toLogin","/login","/assets/**","/js/**");

}

assets就是我放靜態(tài)文件的目錄

全局異常特殊處理

問(wèn)題:

上一篇提到過(guò)的有些錯(cuò)誤你可能想特殊對(duì)待處理的,現(xiàn)在對(duì)應(yīng)代碼標(biāo)紅,找不到對(duì)應(yīng)的類(lèi)

原因:

新版本后該方法去掉了,需要換成新的方法處理

解決方案:

舊代碼:

@Configuration

 public class ContainerConfig {

 @Bean

 public EmbeddedServletContainerCustomizer containerCustomizer(){

 return new EmbeddedServletContainerCustomizer(){

 @Override

 public void customize(ConfigurableEmbeddedServletContainer container) {

 container.addErrorPages(new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/error/500"));

 container.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/error/404"));

 }

 };

 }

 }

新代碼:

@Configuration

public class ContainerConfig implements ErrorPageRegistrar {

 @Override

 public void registerErrorPages(ErrorPageRegistry registry) {

 ErrorPage[] errorPages = new ErrorPage[2];

 errorPages[0] = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/error/500");

 errorPages[1] = new ErrorPage(HttpStatus.NOT_FOUND, "/error/404");

 registry.addErrorPages(errorPages);

 }

}

暫時(shí)處理了以上幾個(gè)錯(cuò)誤后,項(xiàng)目就可以啟動(dòng)了,還有其他隱藏的錯(cuò)誤后續(xù)遇到了再補(bǔ)充。

關(guān)于“Spring Boot1.5X怎么升級(jí)到2.0”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“Spring Boot1.5X怎么升級(jí)到2.0”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

文章名稱(chēng):SpringBoot1.5X怎么升級(jí)到2.0
當(dāng)前路徑:http://aaarwkj.com/article36/gdehsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開(kāi)發(fā)、網(wǎng)站設(shè)計(jì)移動(dòng)網(wǎng)站建設(shè)、品牌網(wǎng)站制作ChatGPT、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管
日本一区二区视频播放网站| 国产精品亚洲视频欧美视频| 麻豆精品情欲人妻二区| 久久国产精品av在线观看| 欧美日韩综合在线第一页| 熟女中文字幕一区二区| 一级片高清在线观看国产| av在线观看亚洲天堂| 日本东京热在线免费观看| 禁止18黄色免费网站| 国产精品熟女一区二区三区| 亚洲天堂av现在观看| 91免费看片在线观看| 欧美亚洲另类麻豆综合在线| 欧美三级高清视频在线播放| 欧美电影剧情av在线| 日韩精品熟妻人女亚洲一区| 在线日韩观看免费av| 日韩免费系列一区二区| 亚洲午夜精品毛片成人| 午夜在线观看成人av| 97资源视频在线播放| 中文字幕丰满人妻不满中出片| 欧美人与性一区二区三区| 在线视频日韩欧美国产二区| 国内精日韩欧中文的话| 精品亚洲一区二区三区四区| 无遮挡动漫网站免费观看| 尤物视频网站在线观看| 久久人妻少妇嫩草av蜜桃综合| 亚洲国产第一尤物视频| 欧美十八一区二区三区| 一区二区三区国产不卡| 日本免费一区二区三区等视频| 极品美女粉嫩啪啪高潮| 日韩专区亚洲专区欧美专区| 国产精品黄色自拍合集| 国产日韩精品国产二区| 欧美国产大片一区视频| 亚洲中文字幕偷拍色图| 深夜释放自己污在线看|