亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringRunner和SpringJUnit4ClassRunner的區(qū)別及說(shuō)明

 更新時(shí)間:2023年04月24日 17:03:27   作者:qq_1909940880  
這篇文章主要介紹了SpringRunner和SpringJUnit4ClassRunner的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

SpringRunner和SpringJUnit4ClassRunner有什么區(qū)別?

@RunWith(SpringRunner.class)
@RunWith(SpringJUnit4ClassRunner.class)

這兩個(gè)有什么區(qū)別?

SpringRunner 繼承了SpringJUnit4ClassRunner,沒(méi)有擴(kuò)展任何功能;使用前者,名字簡(jiǎn)短而已。

SpringRunner無(wú)法映射到SpringJUnit4ClassRunner

如果在Maven依賴(lài)中可以看到該庫(kù)已經(jīng)載入,必須去掉<scope>test</scope>

<dependency>
?? ?<groupId>org.springframework.boot</groupId>
?? ?<artifactId>spring-boot-starter-test</artifactId>
?? ?<scope>test</scope>
</dependency>
<dependency>
?? ?<groupId>org.springframework.boot</groupId>
?? ?<artifactId>spring-boot-starter-test</artifactId>
</dependency>

PS:scope的分類(lèi)

compile(編譯范圍)

  • 默認(rèn)就是compile,什么都不配置也就是意味著compile。
  • compile表示被依賴(lài)項(xiàng)目需要參與當(dāng)前項(xiàng)目的編譯,當(dāng)然后續(xù)的測(cè)試,運(yùn)行周期也參與其中,是一個(gè)比較強(qiáng)的依賴(lài)。
  • 打包的時(shí)候通常需要包含進(jìn)去。

test(測(cè)試范圍)

  • scope為test表示依賴(lài)項(xiàng)目?jī)H僅參與測(cè)試相關(guān)的工作,包括測(cè)試代碼的編譯,執(zhí)行。
  • 比較典型的如junit。

runntime(運(yùn)行時(shí)范圍)

  • runntime表示被依賴(lài)項(xiàng)目無(wú)需參與項(xiàng)目的編譯,不過(guò)后期的測(cè)試和運(yùn)行周期需要其參與。與compile相比,跳過(guò)編譯而已,說(shuō)實(shí)話在終端的項(xiàng)目(非開(kāi)源,企業(yè)內(nèi)部系統(tǒng))中,和compile區(qū)別不是很大。
  • 比較常見(jiàn)的如JSR×××的實(shí)現(xiàn),對(duì)應(yīng)的API jar是compile的,具體實(shí)現(xiàn)是runtime的,compile只需要知道接口就足夠了。
  • Oracle jdbc驅(qū)動(dòng)架包就是一個(gè)很好的例子,一般scope為runntime。
  • 另外runntime的依賴(lài)通常和optional搭配使用,optional為true。我可以用A實(shí)現(xiàn),也可以用B實(shí)現(xiàn)。

provided(已提供范圍)

  • provided意味著打包的時(shí)候可以不用包進(jìn)去,別的設(shè)施(Web Container)會(huì)提供。
  • 事實(shí)上該依賴(lài)?yán)碚撋峡梢詤⑴c編譯,測(cè)試,運(yùn)行等周期。
  • 相當(dāng)于compile,但是在打包階段做了exclude的動(dòng)作。
  • 例如, 如果你開(kāi)發(fā)了一個(gè)web 應(yīng)用,你可能在編譯 classpath 中需要可用的Servlet API 來(lái)編譯一個(gè)servlet,但是你不會(huì)想要在打包好的WAR 中包含這個(gè)Servlet API;這個(gè)Servlet API JAR 由你的應(yīng)用服務(wù)器或者servlet 容器提供。
  • 已提供范圍的依賴(lài)在編譯classpath (不是運(yùn)行時(shí))可用。
  • 它們不是傳遞性的,也不會(huì)被打包。

system(系統(tǒng)范圍)

  • system范圍依賴(lài)與provided 類(lèi)似,但是你必須顯式的提供一個(gè)對(duì)于本地系統(tǒng)中JAR 文件的路徑。
  • 這么做是為了允許基于本地對(duì)象編譯,而這些對(duì)象是系統(tǒng)類(lèi)庫(kù)的一部分。這樣的構(gòu)件應(yīng)該是一直可用的,Maven 也不會(huì)在倉(cāng)庫(kù)中去尋找它。
  • 如果你將一個(gè)依賴(lài)范圍設(shè)置成系統(tǒng)范圍,你必須同時(shí)提供一個(gè) systemPath 元素。
  • 注意該范圍是不推薦使用的(你應(yīng)該一直盡量去從公共或定制的 Maven 倉(cāng)庫(kù)中引用依賴(lài))。

scope的依賴(lài)傳遞

A–>B–>C。當(dāng)前項(xiàng)目為A,A依賴(lài)于B,B依賴(lài)于C。知道B在A項(xiàng)目中的scope,那么怎么知道C在A中的scope呢?

答案是:

  • 當(dāng)C是test或者provided時(shí),C直接被丟棄,A不依賴(lài)C;
  • 否則A依賴(lài)C,C的scope繼承于B的scope。

總結(jié)

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

相關(guān)文章

  • Java集合框架之LinkedHashSet類(lèi)解讀

    Java集合框架之LinkedHashSet類(lèi)解讀

    這篇文章主要介紹了Java集合框架之LinkedHashSet類(lèi)解讀,LinkedHashSet是HashSet的有序版本,它跨所有元素維護(hù)一個(gè)雙向鏈接的List,當(dāng)需要維護(hù)迭代順序時(shí),就使用這個(gè)類(lèi),當(dāng)遍歷HashSet時(shí),順序是不可預(yù)測(cè)的,需要的朋友可以參考下
    2023-09-09
  • Java遺傳算法之沖出迷宮

    Java遺傳算法之沖出迷宮

    這篇文章首先詳細(xì)介紹了什么是遺傳算法,然后通過(guò)遺傳算法的思想用實(shí)例解析使用遺傳算法解決迷宮問(wèn)題,需要的朋友可以參考下
    2017-09-09
  • Eclipse不自動(dòng)編譯java文件的終極解決方法

    Eclipse不自動(dòng)編譯java文件的終極解決方法

    這篇文章主要介紹了Eclipse不自動(dòng)編譯java文件的終極解決方法,需要的朋友可以參考下
    2015-12-12
  • Java實(shí)現(xiàn)的Windows資源管理器實(shí)例

    Java實(shí)現(xiàn)的Windows資源管理器實(shí)例

    這篇文章主要介紹了Java實(shí)現(xiàn)的Windows資源管理器,實(shí)例分析了基于java實(shí)現(xiàn)windows資源管理器的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • MyBatisPlus查詢(xún)投影與查詢(xún)條件詳細(xì)講解

    MyBatisPlus查詢(xún)投影與查詢(xún)條件詳細(xì)講解

    這篇文章主要介紹了MyBatisPlus DQL編程控制中的查詢(xún)投影、查詢(xún)條件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Java通過(guò)SSH連接路由器輸入命令并讀取響應(yīng)的操作方法

    Java通過(guò)SSH連接路由器輸入命令并讀取響應(yīng)的操作方法

    最近需要讀取和修改華為路由器的配置,使用Java語(yǔ)言開(kāi)發(fā),通過(guò)SSH連接,輸入命令并讀取響應(yīng),接下來(lái)通過(guò)本文給大家介紹下Java通過(guò)SSH連接路由器,輸入命令并讀取響應(yīng),需要的朋友可以參考下
    2024-01-01
  • Spring實(shí)現(xiàn)源碼下載編譯及導(dǎo)入IDEA過(guò)程圖解

    Spring實(shí)現(xiàn)源碼下載編譯及導(dǎo)入IDEA過(guò)程圖解

    這篇文章主要介紹了Spring實(shí)現(xiàn)源碼下載編譯及導(dǎo)入IDEA,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • JAVA實(shí)現(xiàn)下載文件功能的兩種方法

    JAVA實(shí)現(xiàn)下載文件功能的兩種方法

    這篇文章主要介紹了JAVA實(shí)現(xiàn)下載文件功能的兩種方法,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • Spring?Bean名稱(chēng)不會(huì)被代理的命名技巧

    Spring?Bean名稱(chēng)不會(huì)被代理的命名技巧

    Spring Bean一些使用小細(xì)節(jié)就是在不斷的源碼探索中逐步發(fā)現(xiàn)的,今天就來(lái)和小伙伴們聊一下通過(guò) beanName 的設(shè)置,可以讓一個(gè) bean 拒絕被代理
    2023-11-11
  • Java 數(shù)組分析及簡(jiǎn)單實(shí)例

    Java 數(shù)組分析及簡(jiǎn)單實(shí)例

    這篇文章主要介紹了Java 數(shù)組分析及簡(jiǎn)單實(shí)例的相關(guān)資料,在Java中它就是對(duì)象,一個(gè)比較特殊的對(duì)象,需要的朋友可以參考下
    2017-03-03

最新評(píng)論