最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于SpringBoot2.0版本與老版本的區(qū)別

 更新時(shí)間:2021年10月13日 11:32:48   作者:尚硅谷24k純帥  
這篇文章主要介紹了SpringBoot2.0版本與老版本的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

SpringBoot2.0版本新特性

以Java 8 為基準(zhǔn)

Spring Boot 2.0 要求Java 版本必須8以上, Java 6 和 7 不再支持。

內(nèi)嵌容器包結(jié)構(gòu)調(diào)整

為了支持reactive使用場(chǎng)景,內(nèi)嵌的容器包結(jié)構(gòu)被重構(gòu)了的幅度有點(diǎn)大。EmbeddedServletContainer被重命名為WebServer,并且org.springframework.boot.context.embedded 包被重定向到了org.springframework.boot.web.embedded包下。

舉個(gè)例子,如果你要使用TomcatEmbeddedServletContainerFactory回調(diào)接口來(lái)自定義內(nèi)嵌Tomcat容器,你現(xiàn)在應(yīng)該使用TomcatServletWebServerFactory。

Servlet-specific 的server properties調(diào)整

大量的Servlet專屬的server.* properties被移到了server.servlet下:

Old property

New property

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

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

Actuator 默認(rèn)映射

ctuator的端點(diǎn)(endpoint)現(xiàn)在默認(rèn)映射到/application,比如,/info 端點(diǎn)現(xiàn)在就是在/application/info。但你可以使用management.context-path來(lái)覆蓋此默認(rèn)值。

Spring Loaded不再支持

由于Spring Loaded項(xiàng)目已被移到了attic了,所以不再支持Spring Loaded了?,F(xiàn)在建議你去使用Devtools。Spring Loaded不再支持了。

支持Quartz Scheduler

Spring Boot 2 針對(duì)Quartz調(diào)度器提供了支持。你可以加入spring-boot-starter-quartz starter來(lái)啟用。而且支持基于內(nèi)存和基于jdbc兩種存儲(chǔ)。

OAuth 2.0 支持

Spring Security OAuth 項(xiàng)目中的功能將會(huì)遷移到Spring Security中。將會(huì)OAuth 2.0。

支持Spring WebFlux

WebFlux 模塊的名稱是 spring-webflux,名稱中的 Flux 來(lái)源于 Reactor 中的類(lèi) Flux。該模塊中包含了對(duì)反應(yīng)式 HTTP、服務(wù)器推送事件和 WebSocket 的客戶端和服務(wù)器端的支持。

對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),比較重要的是服務(wù)器端的開(kāi)發(fā),這也是本文的重點(diǎn)。

在服務(wù)器端,WebFlux 支持兩種不同的編程模型:第一種是 Spring MVC 中使用的基于 Java 注解的方式;第二種是基于 Java 8 的 lambda 表達(dá)式的函數(shù)式編程模型。這兩種編程模型只是在代碼編寫(xiě)方式上存在不同。

它們運(yùn)行在同樣的反應(yīng)式底層架構(gòu)之上,因此在運(yùn)行時(shí)是相同的。

WebFlux 需要底層提供運(yùn)行時(shí)的支持,WebFlux 可以運(yùn)行在支持 Servlet 3.1 非阻塞 IO API 的 Servlet 容器上,或是其他異步運(yùn)行時(shí)環(huán)境,如 Netty 和 Undertow。

版本要求

  • Jetty
    • 要求Jetty最低版本為9.4。
  • Tomcat
    • 要求Tomcat最低版本為8.5。
  • Hibernate
    • 要求Hibernate最低版本為5.2。
  • Gradle
    • 要求Gradle最低版本為3.4。
  • SendGrid
    • SendGrid最低支持版本是3.2。為了支持這次升級(jí),username和password已經(jīng)被干掉了。因?yàn)锳PI key現(xiàn)在是唯一支持的認(rèn)證方式。

SpringBoot版本問(wèn)題

IDEA創(chuàng)建springboot中啟動(dòng)問(wèn)題

Exception in thread “main” java.lang.AbstractMethodError:

org.springframework.boot.context.config.ConfigFileApplicationListener.supportsSourceType(Ljava/lang/Class;)Z

大家度知道這是一個(gè)springboot的啟動(dòng)類(lèi)

這是maven依賴

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.3.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.example</groupId>
	<artifactId>demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>demo</name>
	<description>Demo project for Spring Boot</description>
	<properties>
		<java.version>1.8</java.version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
			<exclusions>
				<exclusion>
					<artifactId>spring-context</artifactId>
					<groupId>org.springframework</groupId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-boot-starter</artifactId>
			<version>3.1.0</version>
		</dependency>
		<dependency>
			<groupId>com.h2database</groupId>
			<artifactId>h2</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>4.3.2.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
	</dependencies>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>
</project>

看起來(lái)萬(wàn)事俱備,也很符合springboot啟動(dòng)需要,那就啟動(dòng)吧

Exception in thread "main" java.lang.AbstractMethodError:

org.springframework.boot.context.config.ConfigFileApplicationListener.supportsSourceType(Ljava/lang/Class;)Z

結(jié)果給你拋出這樣的異常

此時(shí)不慌,原因有兩個(gè)(我所能想到的,不喜勿噴)

  • jar沖突
  • springboot的版本問(wèn)題

一、解決方案

IDEA中下載maven helper插件,方便排查jar沖突,

在這里插入圖片描述

重啟后的點(diǎn)擊pom會(huì)出現(xiàn)Dependency Analyzer

在這里插入圖片描述

排查沖突后再次運(yùn)行程序,出現(xiàn)如下情況

在這里插入圖片描述

二、解決方案

像魔鬼一樣還是沒(méi)有解決,這時(shí)候瘋狂的上百度搜,依然沒(méi)有找到辦法解決,最后在拉屎的瞬間想到springboot 有一個(gè) 1.5.6的版本,出于好奇將2.1.3版本修改為1.5.6版本如下

<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.6.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

看到下面的圖,恭喜你,springboot啟動(dòng)成功

在這里插入圖片描述

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring Boot中使用Spring-data-jpa實(shí)現(xiàn)數(shù)據(jù)庫(kù)增刪查改

    Spring Boot中使用Spring-data-jpa實(shí)現(xiàn)數(shù)據(jù)庫(kù)增刪查改

    本篇文章主要介紹了Spring Boot中使用Spring-data-jpa實(shí)現(xiàn)增刪查改,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。
    2017-03-03
  • java高級(jí)用法之綁定CPU的線程Thread?Affinity簡(jiǎn)介

    java高級(jí)用法之綁定CPU的線程Thread?Affinity簡(jiǎn)介

    java線程thread affinity是用來(lái)將java代碼中的線程綁定到CPU特定的核上,用來(lái)提升程序運(yùn)行的性能,這篇文章主要介紹了java高級(jí)用法之綁定CPU的線程thread affinity的相關(guān)知識(shí),需要的朋友可以參考下
    2022-05-05
  • SpringBoot ApplicationContextAware拓展接口使用詳解

    SpringBoot ApplicationContextAware拓展接口使用詳解

    當(dāng)一個(gè)類(lèi)實(shí)現(xiàn)了這個(gè)接口(ApplicationContextAware)之后,這個(gè)類(lèi)就可以方便獲得ApplicationContext中的所有bean。換句話說(shuō),就是這個(gè)類(lèi)可以直接獲取spring配置文件中,所有有引用到的bean對(duì)象
    2023-04-04
  • Java 線程池ExecutorService詳解及實(shí)例代碼

    Java 線程池ExecutorService詳解及實(shí)例代碼

    這篇文章主要介紹了Java 線程池ExecutorService詳解及實(shí)例代碼的相關(guān)資料,線程池減少在創(chuàng)建和銷(xiāo)毀線程上所花的時(shí)間以及系統(tǒng)資源的開(kāi)銷(xiāo).如果不使用線程池,有可能造成系統(tǒng)創(chuàng)建大量線程而導(dǎo)致消耗系統(tǒng)內(nèi)存以及”過(guò)度切換“
    2016-11-11
  • Spring實(shí)現(xiàn)Logback日志模板設(shè)置動(dòng)態(tài)參數(shù)功能

    Spring實(shí)現(xiàn)Logback日志模板設(shè)置動(dòng)態(tài)參數(shù)功能

    本文介紹如何在Spring應(yīng)用中實(shí)現(xiàn)Logback日志模板的動(dòng)態(tài)參數(shù)設(shè)置,通過(guò)設(shè)計(jì)traceId鏈路標(biāo)識(shí),將其動(dòng)態(tài)添加到日志輸出中,從而實(shí)現(xiàn)簡(jiǎn)易的鏈路追蹤功能,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • Springmvc發(fā)送json數(shù)據(jù)轉(zhuǎn)Java對(duì)象接收

    Springmvc發(fā)送json數(shù)據(jù)轉(zhuǎn)Java對(duì)象接收

    這篇文章主要介紹了Springmvc發(fā)送json數(shù)據(jù)轉(zhuǎn)Java對(duì)象接收,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Java中List常用操作比f(wàn)or循環(huán)更優(yōu)雅的寫(xiě)法示例

    Java中List常用操作比f(wàn)or循環(huán)更優(yōu)雅的寫(xiě)法示例

    List是Java中比較常用的集合類(lèi),關(guān)于List接口有很多實(shí)現(xiàn)類(lèi),下面這篇文章主要給大家介紹了關(guān)于Java中List常用操作比f(wàn)or循環(huán)更優(yōu)雅的寫(xiě)法,需要的朋友可以參考下
    2021-11-11
  • java 中newInstance()方法和new關(guān)鍵字的區(qū)別

    java 中newInstance()方法和new關(guān)鍵字的區(qū)別

    這篇文章主要介紹了java 中newInstance()方法和new關(guān)鍵字的區(qū)別的相關(guān)資料,希望通過(guò)本文大家能掌握他們之家的區(qū)別與用法,需要的朋友可以參考下
    2017-09-09
  • IDEA中sout快捷鍵無(wú)效問(wèn)題的解決方法

    IDEA中sout快捷鍵無(wú)效問(wèn)題的解決方法

    這篇文章主要介紹了IDEA中sout快捷鍵無(wú)效問(wèn)題,在類(lèi)文件中進(jìn)行操作會(huì)造成sout快捷命令無(wú)法自動(dòng)生成,比如操作了import引入其它包之后,本文給大家分享解決方法,感興趣的朋友一起看看吧
    2022-07-07
  • JAVA中SpringBoot啟動(dòng)流程分析

    JAVA中SpringBoot啟動(dòng)流程分析

    這篇文章主要介紹了JAVA中SpringBoot啟動(dòng)流程分析的相關(guān)資料,需要的朋友可以參考下
    2023-01-01

最新評(píng)論

巩留县| 盈江县| 襄汾县| 义乌市| 扬州市| 布拖县| 南川市| 大同市| 确山县| 高淳县| 内黄县| 应城市| 长阳| 荣成市| 台南县| 锡林郭勒盟| 东明县| 余庆县| 新龙县| 若羌县| 双城市| 奉化市| 沅陵县| 江山市| 南通市| 新源县| 昌邑市| 三河市| 上思县| 绩溪县| 梨树县| 祁连县| 伊通| 合江县| 辽阳县| 奇台县| 郎溪县| 灵武市| 高碑店市| 于田县| 大城县|