mybatis使用Resources讀取配置檔案
阿新 • • 發佈:2019-01-09
分享一下我老師大神的人工智慧教程吧。零基礎,通俗易懂!風趣幽默!http://www.captainbed.net/
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
Resources(com.ibatis.common.resource.*)Resources 類為從類路徑中載入資源,提供了易於使用的方法。處理 ClassLoader 是一項
富於挑戰的工作,尤其是應用伺服器/容器的情況下。Resources 類試圖簡化這些工作。
Resources 類常用於以下幾種情況:
? 從類路徑載入 SQL Map 配置檔案(如 sqlMap-config.xml)。
? 從類路徑載入 DAO Manager 配置檔案(如 dao.xml)。
? 從類路徑載入各種.properties 檔案。
載入一個資源有很多方式,包括:
? 對於簡單的只讀文字資料,載入為 Reader。
? 對於簡單的只讀二進位制或文字資料,載入為 Stream。
? 對於可讀寫的二進位制或文字檔案,載入為 File。
? 對於只讀的配置屬性檔案,載入為 Properties。
? 對於只讀的通用資源,載入為 URL。
按以上的順序,Resources 類載入資源的方法如下:
Reader getResourceAsReader(String resource);
Stream getResourceAsStream(String resource);
File getResourceAsFile(String resource);
Properties getResourceAsProperties(String resource);
Url getResourceAsUrl(String resource);
在以上每個方法中,載入資源和載入 Resources 類的為同一個 ClassLoader,或者,如果
失敗,將使用系統的 ClassLoader。在某些環境下(比如某些應用伺服器),ClassLoader 可能
是個麻煩事,您可以指定所使用的 ClassLoader(比如使用載入應用的 ClassLoader)。上面每
個方法都有相應把 ClassLoader 作為引數的方法。它們是:
Reader getResourceAsReader (ClassLoader classLoader, String resource);
Stream getResourceAsStream (ClassLoader classLoader, String resource);
File getResourceAsFile (ClassLoader classLoader, String resource);
Properties getResourceAsProperties (ClassLoader classLoader, String resource);
Url getResourceAsUrl (ClassLoader classLoader, String resource);
以上方法的 resource 引數名稱應該是全限定名,加上全檔案/資源名。例如,如果在類
路徑中有資源“com.domain.mypackage.MyPropertiesFile.properties”,您使用下面的程式碼載入
http://www.ibatis.com Clinton Begin 著 劉濤(
開發指南 iBATIS SQL Maps Page 59 of 62
資源為 Properties(注意,資源名前面不需要斜槓/)。
String resource = “com/domain/mypackage/MyPropertiesFile.properties”;
Properties props = Resources.getResourceAsProperties (resource);
同樣地,您可以從類路徑載入 SQL Map 配置檔案為一個 Reader。假設它在類路徑的
properties 目錄下(properties.sqlMap-config.xml)。
String resource = “properties/sqlMap-config.xml”;
Reader reader = Resources.getResourceAsReader(resource);
SqlMapClient sqlMap = XmlSqlMapBuilder.buildSqlMap(reader);