欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

maven?scope?provided和runtime的例子說明

 更新時(shí)間:2022年12月19日 09:52:31   作者:pengpengzhou  
這篇文章主要介紹了maven?scope?provided和runtime的例子說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

maven scope provided和runtime例子

maven常用的scope有compile,provided,runtime,test。

  • complie是默認(rèn)值,表示在build,test,runtime階段的classpath下都有依賴關(guān)系。
  • test表示只在test階段有依賴關(guān)系,例如junit
  • provided表示在build,test階段都有依賴,在runtime時(shí)并不輸出依賴關(guān)系而是由容器提供,例如web war包都不包括servlet-api.jar,而是由tomcat等容器來提供
<dependency>
? ? <groupId>javax.servlet</groupId>
? ? <artifactId>servlet-api</artifactId>
? ? <version>3.0.1</version>
? ? <scope>provided</scope>
</dependency>
  • runtime表示在構(gòu)建編譯階段不需要,只在test和runtime需要。

這種主要是指代碼里并沒有直接引用而是根據(jù)配置在運(yùn)行時(shí)動(dòng)態(tài)加載并實(shí)例化的情況。

雖然用runtime的地方改成compile也不會(huì)出大問題,但是runtime的好處是可以避免在程序里意外地直接引用到原本應(yīng)該動(dòng)態(tài)加載的包。

例如JDBC連接池

?? ??? ?<dependency>
?? ??? ??? ?<groupId>commons-dbcp</groupId>
?? ??? ??? ?<artifactId>commons-dbcp</artifactId>
?? ??? ??? ?<version>1.4</version>
?? ??? ??? ?<scope>runtime</scope>
?? ??? ?</dependency>

spring applicationContext.xml

?? ?<!-- mysql -->
?? ?<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
?? ??? ?<property name="dataSource">
?? ??? ??? ?<ref bean="dataSource" />
?? ??? ?</property>
?? ?</bean>
?? ?<!-- Connection Pool -->
?? ?<bean id="dataSource" destroy-method="close"
?? ??? ?class="org.apache.commons.dbcp.BasicDataSource">
?? ??? ?<property name="driverClassName" value="${ckm.jdbc.driver}" />
?? ??? ?<property name="url" value="${ckm.jdbc.url}" />
?? ??? ?<property name="username" value="${ckm.jdbc.username}" />
?? ??? ?<property name="password" value="${ckm.jdbc.password}" />
?? ??? ?<property name="initialSize" value="6" />
?? ?</bean>

maven依賴中scope的runtime和provied區(qū)別

<scope>runtime</scope>

runtime 用在 Class.forName(“com.mysql.jdbc.Driver”) 時(shí),compile 編譯時(shí)不依賴,只有運(yùn)行時(shí)才會(huì)依賴。

案例:當(dāng)嘗試去把 compile -> runtime 后,無法編譯成功,因?yàn)?runtime 只在運(yùn)行時(shí)使用,編譯時(shí)不引入,造成有些依賴無法加入。

<scope>provied</scope>

只有編譯會(huì)使用,程序運(yùn)行時(shí)不需要依賴的。

案例一:lombok 只在編譯時(shí),把 getter、setter 設(shè)置好,不需要運(yùn)行時(shí)使用。

案例二:servl

et-api 只在編譯時(shí),需要引入,運(yùn)行時(shí)由 tomcat 容器提供。 

總結(jié)

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

相關(guān)文章

  • Java使用jxl包寫Excel文件適合列寬實(shí)現(xiàn)

    Java使用jxl包寫Excel文件適合列寬實(shí)現(xiàn)

    用jxl.jar包,讀寫過Excel文件。也沒有注意最適合列寬的問題,但是jxl.jar沒有提供最適合列寬的功能,上次用到寫了一下,可以基本實(shí)現(xiàn)最適合列寬。
    2013-11-11
  • Java數(shù)據(jù)結(jié)構(gòu)之List的使用總結(jié)

    Java數(shù)據(jù)結(jié)構(gòu)之List的使用總結(jié)

    List是Java中比較常用的集合類,指一系列存儲(chǔ)數(shù)據(jù)的接口和類,可以解決復(fù)雜的數(shù)據(jù)存儲(chǔ)問題,本文就來拿實(shí)際案例總結(jié)介紹一下List的使用方法,感興趣的朋友快來看看吧
    2021-11-11
  • Java 多線程學(xué)習(xí)詳細(xì)總結(jié)

    Java 多線程學(xué)習(xí)詳細(xì)總結(jié)

    本文主要介紹 Java 多線程的知識(shí)資料,這里整理了詳細(xì)的多線程內(nèi)容,及簡單實(shí)現(xiàn)代碼,有需要的朋友可以參考下
    2016-09-09
  • java.lang.Runtime.exec的左膀右臂:流輸入和流讀取詳解

    java.lang.Runtime.exec的左膀右臂:流輸入和流讀取詳解

    這篇文章主要介紹了java.lang.Runtime.exec的左膀右臂:流輸入和流讀取詳解,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • IDEA中沒有Mapper.xml模板選項(xiàng)的處理方法

    IDEA中沒有Mapper.xml模板選項(xiàng)的處理方法

    這篇文章主要介紹了IDEA中沒有Mapper.xml模板選項(xiàng)的處理方法,需其實(shí)解決方法很簡單,只需要在idea中導(dǎo)入模板即可,本文圖文的形式給大家分享解決方法,需要的朋友可以參考下
    2021-04-04
  • java讀取解析xml文件實(shí)例

    java讀取解析xml文件實(shí)例

    這篇文章主要介紹了java讀取解析xml文件實(shí)例,本文創(chuàng)建了一個(gè)XML解析類同時(shí)講解了循環(huán)節(jié)點(diǎn)輸出方式,需要的朋友可以參考下
    2015-03-03
  • Mac電腦安裝多個(gè)JDK版本的詳細(xì)圖文教程

    Mac電腦安裝多個(gè)JDK版本的詳細(xì)圖文教程

    目前使用的主流版本還是JDK 8,但偶爾會(huì)想體驗(yàn)下新版本(或者舊版本),如果能裝多個(gè)版本的JDK,而且很方便的切換就好了,這篇文章主要給大家介紹了關(guān)于Mac電腦安裝多個(gè)JDK版本的相關(guān)資料,需要的朋友可以參考下
    2024-03-03
  • 淺談SpringMVC請求映射handler源碼解讀

    淺談SpringMVC請求映射handler源碼解讀

    這篇文章主要介紹了淺談SpringMVC請求映射handler源碼解讀,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 圖解Spring Security 中用戶是如何實(shí)現(xiàn)登錄的

    圖解Spring Security 中用戶是如何實(shí)現(xiàn)登錄的

    這篇文章主要介紹了圖解Spring Security 中用戶是如何實(shí)現(xiàn)登錄的,文中通過示例代碼和圖片介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 在webservice里調(diào)用耗時(shí)方法出錯(cuò)的解決方案

    在webservice里調(diào)用耗時(shí)方法出錯(cuò)的解決方案

    這篇文章主要介紹了在webservice里調(diào)用耗時(shí)方法出錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07

最新評論