隨筆 - 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
          主站蜘蛛池模板: 衡南县| 陇西县| 五大连池市| 上犹县| 东乌珠穆沁旗| 洱源县| 贡觉县| 巴彦淖尔市| 普格县| 海晏县| 阿拉善左旗| 阿城市| 讷河市| 洮南市| 常州市| 阿鲁科尔沁旗| 灵宝市| 冷水江市| 福泉市| 浮梁县| 桐庐县| 合阳县| 仁化县| 健康| 南澳县| 井陉县| 郯城县| 新源县| 乾安县| 太康县| 丰都县| 留坝县| 拜城县| 启东市| 龙泉市| 汤原县| 乌拉特后旗| 民县| 云霄县| 沭阳县| 河间市|