首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Hibernate 註解教程(一):配置加載機制深度解析

     編輯:Java 相關知識

Configuration 創建

  • 非註解:new Configuration()
  • 使用註解:new AnnotationConfiguration()

configure() 方法加載流程

1. 無參 configure()

默認加載 classpath 下 /hibernate.cfg.xml,實際調用 configure("/hibernate.cfg.xml")。

2. configure(String resource)

最常用方式,內部調用 doConfigure(InputStream, String)。資源查找邏輯:

  1. 去除前導「/」
  2. 線程上下文類加載器 Thread.currentThread().getContextClassLoader()
  3. Environment.class.getResourceAsStream()
  4. Environment.class.getClassLoader().getResourceAsStream()
  5. 找不到拋出 HibernateException

3. configure(URL url)

調用 doConfigure(url.openStream(), url.toString())。

4. configure(File configFile)

調用 doConfigure(new FileInputStream(configFile), configFile.toString())。

5. doConfigure(InputStream, String)

使用 dom4j 解析 XML 為 Document,創建 SAXReader 讀取。

6. configure(Document document)

直接解析 Document 對象,處理所有配置與 mapping。

關鍵點總結

  • 資源查找優先使用線程上下文類加載器
  • 配置文件可放在與 Environment 同包目錄
  • 最終由 dom4j 完成 XML 解析
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved