隨筆 - 6  文章 - 129  trackbacks - 0
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(14)

          隨筆檔案(6)

          文章分類(467)

          文章檔案(423)

          相冊(cè)

          收藏夾(18)

          JAVA

          搜索

          •  

          積分與排名

          • 積分 - 828809
          • 排名 - 49

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜


          Spring可以通過指定classpath*:與classpath:前綴加路徑的方式從classpath加載文件,如bean的定義文件.classpath*:的出現(xiàn)是為了從多個(gè)jar文件中加載相同的文件.classpath:只能加載找到的第一個(gè)文件.

          比如 resource1.jar中的package 'com.test.rs' 有一個(gè) 'jarAppcontext.xml' 文件,內(nèi)容如下:

          <bean name="ProcessorImplA" class="com.test.spring.di.ProcessorImplA" />

          resource2.jar中的package 'com.test.rs' 也有一個(gè) 'jarAppcontext.xml' 文件,內(nèi)容如下:

          <bean id="ProcessorImplB" class="com.test.spring.di.ProcessorImplB" />

           

          通過使用下面的代碼則可以將兩個(gè)jar包中的文件都加載進(jìn)來

          ApplicationContext ctx = new ClassPathXmlApplicationContext(
                          "classpath*:com/test/rs/jarAppcontext.xml");

           

          而如果寫成下面的代碼,就只能找到其中的一個(gè)xml文件(順序取決于jar包的加載順序)

          ApplicationContext ctx = new ClassPathXmlApplicationContext(
                          "classpath:com/test/rs/jarAppcontext.xml");

           

          classpath*:的使用是為了多個(gè)component(最終發(fā)布成不同的jar包)并行開發(fā),各自的bean定義文件按照一定的規(guī)則:package+filename,而使用這些component的調(diào)用者可以把這些文件都加載進(jìn)來.

           

          classpath*:的加載使用了classloader的 getResources() 方法,如果是在不同的J2EE服務(wù)器上運(yùn)行,由于應(yīng)用服務(wù)器提供自己的classloader實(shí)現(xiàn),它們?cè)谔幚韏ar文件時(shí)的行為也許會(huì)有所不同。 要測(cè)試 classpath*: 是否有效,可以用classloader從classpath中的jar文件里加載文件來進(jìn)行測(cè)試: getClass().getClassLoader().getResources("<someFileInsideTheJar>") 。(上面的例子是在sun的jre中運(yùn)行的狀態(tài))

           

          來自:http://blog.csdn.net/kkdelta/article/details/5507799




          posted on 2011-10-14 11:58 Ke 閱讀(765) 評(píng)論(0)  編輯  收藏 所屬分類: spring
          主站蜘蛛池模板: 牟定县| 安庆市| 山东| 大姚县| 南召县| 西昌市| 武清区| 达孜县| 东丽区| 云浮市| 扎兰屯市| 鄂尔多斯市| 定兴县| 逊克县| 临武县| 肥东县| 新沂市| 南和县| 仁怀市| 瑞金市| 永安市| 策勒县| 昆明市| 漠河县| 香港| 阳春市| 安图县| 荣昌县| 原平市| 梅州市| 宝坻区| 繁昌县| 定安县| 麦盖提县| 嘉荫县| 江西省| 前郭尔| 张北县| 丹东市| 新民市| 常山县|