classpath與classpath*的區(qū)別

????在bean文件中新增了配置,運(yùn)行后發(fā)現(xiàn)配置并沒(méi)有生效,bean中并沒(méi)有幫忙創(chuàng)建對(duì)象。找了半天原因,最后全局搜索了一下,發(fā)現(xiàn)有2處地方有配置的bean文件。


我在這個(gè)application.xml文件中配置
全局搜索到的另一個(gè)application.xml文件

????試著 將第二張圖片的classes文件給刪了,再次啟動(dòng),自己新增的配置生效了。由此可以推定,我先前啟動(dòng)的時(shí)候,一直讀取的是dist/backStageManager/WEB-INF/classes/beans/application.xml,而自己修改的那個(gè)application.xml文件并沒(méi)有生效。
????加載xml文件是在web.xml中配置的,點(diǎn)進(jìn)去看了下,它的配置是

<context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath*:beans/*.xml</param-value>
</context-param>

????發(fā)現(xiàn)它是classpath*,于是百度了一下classpath和classpath*的區(qū)別

classpath和classpath*區(qū)別:

classpath:只會(huì)到你的class路徑中查找找文件。
classpath*:不僅包含class路徑,還包括jar文件中(class路徑)進(jìn)行查找。
注意: 用classpath*:需要遍歷所有的classpath,所以加載速度是很慢的;因此,在規(guī)劃的時(shí)候,應(yīng)該盡可能規(guī)劃好資源文件所在的路徑,盡量避免使用classpath*。

原因:之前我在class路徑下配置的application.xml被覆蓋了。
總結(jié):classpath*讀取的范圍會(huì)比classpath廣,它會(huì)同時(shí)加載多個(gè)classpath路徑下的文件。所以在class路徑下配置完的xml可能會(huì)被其它路徑下的文件覆蓋。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,628評(píng)論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,276評(píng)論 6 342
  • 內(nèi)容過(guò)長(zhǎng),core部分分開(kāi)發(fā)布,core章節(jié)第二部分點(diǎn)擊:Spring Framework 官方文檔中文版—Cor...
    kopshome閱讀 34,356評(píng)論 7 24
  • 1.1 spring IoC容器和beans的簡(jiǎn)介 Spring 框架的最核心基礎(chǔ)的功能是IoC(控制反轉(zhuǎn))容器,...
    simoscode閱讀 6,851評(píng)論 2 22
  • 隨風(fēng)入夜,潤(rùn)物無(wú)聲 1.感恩總部及長(zhǎng)泰伙伴對(duì)自己的理解和包容。事無(wú)巨細(xì)的跟我說(shuō)。 2.感恩易維小陳超級(jí)耐心的跟我講...
    夏木子糖閱讀 138評(píng)論 0 0

友情鏈接更多精彩內(nèi)容