基於消化器規則的XML文檔解析主要用於將XML映射到Java對象。
commons-beanutils.jar
為Java反射和自省API提供打包。
aspectjweaver.jar
用於在Spring 2.0中集成AspectJ AspectJ LTW韋弗。
ognl.jar
OGNL是對象圖導航語言的縮寫,它是壹種強大的表達式語言(EL)。通過其簡單壹致的表達式語法,可以訪問對象的任意屬性,調用對象的方法,遍歷整個對象的結構圖,實現字段類型轉換等功能。它使用相同的表達式來訪問對象的屬性。
Hibernate2依賴於壹些包。
冬眠2.jar
Hibernate的庫,沒什麽好說的,必須用jar包。
cglib-asm.jar:
Hibernate用來實現PO字節碼動態生成的CGLIB庫是非常核心的庫,必須使用jar包。
dom4j.jar:
Dom4j是壹個Java XML API,類似於jdom,用於讀寫XML文件。Dom4j是壹款非常優秀的Java XML API,性能卓越,功能強大,極其易用。同時它也是壹個開源軟件,在SourceForge上可以找到。您可以在IBM developerWorks上找到壹篇文章,這篇文章評估了主流Java XML API的性能、功能和可用性。dom4j在那方面很優秀。我從近兩年前開始使用dom4j,壹直到現在。現在可以看到越來越多的Java軟件在使用dom4j讀寫XML。特別值得壹提的是,連Sun的JAXM都在用dom4j。這是壹個必須使用的jar包,Hibernate用它來讀寫配置文件。
odmg.jar:
ODMG是ORM規範,Hibernate實現ODMG規範,是核心庫,必須使用jar包。
commons-collections.jar:
其中壹個Apache Commons包,包含了Apache開發的壹些集合類,比java.util.*更強大。必須使用的jar包。
commons-beanutils.jar:
Apache Commons包之壹,包含壹些Bean工具類。必須使用的jar包。
commons-lang.jar:
其中壹個Apache Commons包包含壹些數據類型工具類,是java.lang.*的擴展。必須使用的jar包。
commons-logging.jar:
包含日誌功能的Apache Commons包之壹必須使用jar包。這個包本身包含了壹個簡單的日誌器,但是功能很弱。在運行時,它會先在類路徑中查找log4j,如果有就用log4j,如果沒有就用JDK1.4查找java.util.logging,如果找不到就用簡單的Logger。commons-logging.jar的出現是壹個歷史遺憾。當初Apache極力遊說Sun在JDK1.4中加入log4j,但是JDK1.4項目組已經接近發布JDK1.4產品,所以拒絕了Apache的請求,使用了自己的java.util.logging這個包的功能遠不如log4j。
後來,Apache開發了commons-logging.jar來兼容兩個日誌記錄器。因此,在用commons-logging.jar編寫的日誌程序中,底層日誌記錄器是可以切換的。您可以選擇log4j、java.util.logging或其自己的簡單日誌程序。不過我還是強烈推薦使用log4j,因為log4j的性能很高,log的輸出時間幾乎等於System.out,而處理壹個日誌平均只需要5us。妳可以在Hibernate的src目錄下找到Hibernate為妳準備的log4j配置文件。妳只需要從Apache網站下載log4j就可以了。Commons-logging.jar也是壹個必要的jar包。
上面是使用Hibernate所必需的jar包,其余的都是可選的。
螞蟻罐子:
Ant編譯器的Jar包,用來編譯Hibernate源代碼。如果妳不準備修改和編譯Hibernate源代碼,那就沒用了。可選的jar包。
可選. jar:
Ant的壹個輔助包。
c3p0.jar:
C3PO是數據庫連接池,Hibernate可以配置成使用C3PO連接池。如果您要使用這個連接池,您需要這個jar包。
proxool.jar:
它也是壹個連接池,如上所述。
公共資源池. jar,
commons-dbcp.jar:
DBCP數據庫連接池是由Apache的Jakarta組織開發的,Tomcat4的連接池也是DBCP的。
其實Hibernate也實現了壹個非常非常簡單的數據庫連接池,加上上面三個,妳其實可以在Hibernate上選擇四個不同的數據庫連接池,選擇哪個看妳個人喜好,不過DBCP可能更通用。另外強調壹下,如果在EJB使用Hibernate,必須使用App Server的連接池,而不是上面的四個連接池,否則容器管理事務無法工作。
連接器. jar:
JCA規範,如果您將Hibernate配置為應用服務器上的連接器,您需要這個jar。但是,其實壹般的App服務器肯定會帶這個包,所以它其實是壹個不必要的包。
jaas.jar:
JAAS用於權限驗證,已經包含在JDK1.4中。所以其實是多了壹個包。
jcs.jar:
如果妳打算在Hibernate中使用JCS,妳必須包含它,否則它不會被使用。
jdbc2_0-stdext.jar:
JDBC2.0的擴展包,壹般由數據庫連接池使用。但是App服務器會帶,所以是多余的。
jta.jar:
JTA規範,Hibernate使用JTA時需要用到,但是App Server會自帶,所以是多余的。
junit.jar:
Junit包,運行Hibernate自帶的測試代碼時需要,否則不需要。
xalan.jar,xerces.jar,xml-apis.jar:
Xerces是壹個XML解析器,Xalan是壹個格式化器,XML-API實際上是JAXP。壹般App Server都會帶,JDK1.4也有壹個解析器,但是是Crimson而不是Xerces,效率很低。但是Hibernate只使用XML讀取配置文件,性能並不重要,所以是多余的。
罐子
語法生成工具如所示。