ZT文萃

          本博不原創,轉帖自己感興趣那些事人物,什么入眼貼什么,隨心所欲。
          posts - 93, comments - 5, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          Class的getResource方法

          Posted on 2014-05-02 15:48 ZT文萃 閱讀(557) 評論(0)  編輯  收藏 所屬分類: 中間件
          Class的getResource方法,實際上是靠調入這個類的ClassLoader的getResource方法來實現的,如果調入這個類的ClassLoader是原生的BootStrap ClassLoader,這個ClassLoader是用C++寫成的,在Java中沒有相對應的物件。這時候的實現靠的是ClassLoader的靜態方法getSystemResource。

          只有當使用Class類的getResource方法的時候,才會有下面介紹的那種算法。

          這種算法就是說,如果你指定的路徑以/開頭,那么就是從ClassPath的起點開始尋找這個路徑。如果直接以某個名字開頭,那么就是從當前包名的目錄為起點開始尋找。
          所以大家如果用過hibernate就知道,有些表示類到數據庫表的映射關系的xml文件就和這個類的class文件放在一起,這樣它就直接使用這個類.class.getResource方法來得到這個xml文件。

          而在使用ClassLoader的getResource方法的時候,永遠是以Classpath為直接起點開始尋找資源的。不用擔心從什么包開始尋找的問題。

          用Class.getResource不加/就是從當前包開始找,用ClassLoader.getResource不加/就是直接從Classpath的起點開始尋找。

          當然,如果覺得麻煩,你定位資源的時候全部都使用/開頭的方式就好了
          主站蜘蛛池模板: 台前县| 类乌齐县| 东阳市| 德庆县| 安龙县| 高雄市| 贡嘎县| 罗城| 峡江县| 仲巴县| 营口市| 株洲县| 八宿县| 阿尔山市| 颍上县| 龙泉市| 南靖县| 桦南县| 肇源县| 西乌| 西畴县| 枝江市| 桐乡市| 成安县| 华阴市| 易门县| 崇义县| 英吉沙县| 荃湾区| 云梦县| 伊金霍洛旗| 延寿县| 泸州市| 兰溪市| 始兴县| 股票| 武夷山市| 南开区| 武陟县| 永兴县| 隆子县|