<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    acerbic coffee
    走自己的路,讓別人跑步
    posts - 26,comments - 14,trackbacks - 0
    Hibernate包作用詳解

    Hibernate一共包括了23個jar包,令人眼花繚亂。本文將詳細講解Hibernate每個jar包的作用,便于你在應用中根據自己的需要進行取舍。

    下載Hibernate,例如2.0.3穩定版本,解壓縮,可以看到一個hibernate2.jar和lib目錄下有22個jar包:

    hibernate2.jar:

    Hibernate的庫,沒有什么可說的,必須使用的jar包

    cglib-asm.jar:

    CGLIB庫,Hibernate用它來實現PO字節碼的動態生成,非常核心的庫,必須使用的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包。這個包本身包含了一個Simple Logger,但是功能很弱。在運行的時候它會先在CLASSPATH找log4j,如果有,就使用log4j,如果沒有,就找JDK1.4帶的 java.util.logging,如果也找不到就用Simple Logger。commons-logging.jar的出現是一個歷史的的遺留的遺憾,當初Apache極力游說Sun把log4j加入JDK1.4,然而JDK1.4項目小組已經接近發布JDK1.4產品的時間了,因此拒絕了Apache的要求,使用自己的java.util.logging,這個包的功能比log4j差的很遠,性能也一般。后來Apache就開發出來了commons-logging.jar用來兼容兩個logger。因此用 commons-logging.jar寫的log程序,底層的Logger是可以切換的,你可以選擇log4j,java.util.logging或者它自帶的Simple Logger。不過我仍然強烈建議使用log4j,因為log4j性能很高,log輸出信息時間幾乎等于System.out,而處理一條log平均只需要5us。你可以在Hibernate的src目錄下找到Hibernate已經為你準備好了的log4j的配置文件,你只需要到Apache 網站去下載log4j就可以了。commons-logging.jar也是必須的jar包。

    使用Hibernate必須的jar包就是以上的這幾個,剩下的都是可選的。

    ant.jar:

    Ant編譯工具的jar包,用來編譯Hibernate源代碼的。如果你不準備修改和編譯Hibernate源代碼,那么就沒有什么用,可選的jar包

    optional.jar:

    Ant的一個輔助包。

    c3p0.jar:

    C3PO是一個數據庫連接池,Hibernate可以配置為使用C3PO連接池。如果你準備用這個連接池,就需要這個jar包。

    proxool.jar:

    也是一個連接池,同上。

    commons-pool.jar, commons-dbcp.jar:

    DBCP數據庫連接池,Apache的Jakarta組織開發的,Tomcat4的連接池也是DBCP。

    實際上Hibernate自己也實現了一個非常非常簡單的數據庫連接池,加上上面3 個,你實際上可以在Hibernate上選擇4種不同的數據庫連接池,選擇哪一個看個人的偏好,不過DBCP可能更通用一些。另外強調一點,如果在EJB 中使用Hibernate,一定要用App Server的連接池,不要用以上4種連接池,否則容器管理事務不起作用。

    connector.jar:

    JCA 規范,如果你在App Server上把Hibernate配置為Connector的話,就需要這個jar。不過實際上一般App Server肯定會帶上這個包,所以實際上是多余的包。

    jaas.jar:

    JAAS是用來進行權限驗證的,已經包含在JDK1.4里面了。所以實際上是多余的包。

    jcs.jar:

    如果你準備在Hibernate中使用JCS的話,那么必須包括它,否則就不用。

    jdbc2_0-stdext.jar:

    JDBC2.0的擴展包,一般來說數據庫連接池會用上它。不過App Server都會帶上,所以也是多余的。

    jta.jar:

    JTA規范,當Hibernate使用JTA的時候需要,不過App Server都會帶上,所以也是多余的。

    junit.jar:

    Junit包,當你運行Hibernate自帶的測試代碼的時候需要,否則就不用。

    xalan.jar, xerces.jar, xml-apis.jar:

    Xerces是XML解析器,Xalan是格式化器,xml-apis實際上是 JAXP。一般App Server都會帶上,JDK1.4也包含了解析器,不過不是Xerces,是Crimson,效率比較差,不過Hibernate用XML只不過是讀取配置文件,性能沒什么緊要的,所以也是多余的。

    struts2必備的包

    比如sturts-2.0.9下,必須最小運行的要用這些包

    x-work-2.0.4.jar

    common-loggint-1.0.4.jar

    ognl-2.6.11.jar

    struts2-core-2.0.9.jar

    freemarker-2.3.8.jar

    struts2-spring-plugin-2.0.9.jar

    spring jar包詳細介紹

    spring.jar是包含有完整發布的單個jar包,spring.jar中包含除了spring-mock.jar里所包含的內容外其它所有jar包的內容,因為只有在開發環境下才會用到spring-mock.jar來進行輔助測試,正式應用系統中是用不得這些類的。

      除了spring.jar文件,Spring還包括有其它13個獨立的jar包,各自包含著對應的Spring組件,用戶可以根據自己的需要來選擇組合自己的jar包,而不必引入整個spring.jar的所有類文件。

    (1)   spring-core.jar

      這個jar文件包含Spring框架基本的核心工具類,Spring其它組件要都要使用到這個包里的類,是其它組件的基本核心,當然你也可以在自己的應用系統中使用這些工具類。
     
    (2) spring-beans.jar

            這個jar文件是所有應用都要用到的,它包含訪問配置文件、創建和管理bean以及進行Inversion of Control / Dependency Injection(IoC/DI)操作相關的所有類。如果應用只需基本的IoC/DI支持,引入spring-core.jar及spring- beans.jar文件就可以了。

    (3) spring-aop.jar

            這個jar文件包含在應用中使用Spring的AOP特性時所需的類。使用基于AOP的Spring特性,如聲明型事務管理(Declarative Transaction Management),也要在應用里包含這個jar包。

    (4) spring-context.jar

    這個jar文件為Spring核心提供了大量擴展。可以找到使用Spring ApplicationContext特性時所需的全部類,JDNI所需的全部類,UI方面的用來與模板(Templating)引擎如 Velocity、FreeMarker、JasperReports集成的類,以及校驗Validation方面的相關類。

    (5) spring-dao.jar

      這個jar文件包含Spring DAO、Spring Transaction進行數據訪問的所有類。為了使用聲明型事務支持,還需在自己的應用里包含spring-aop.jar。

    (6) spring-hibernate.jar

      這個jar文件包含Spring對Hibernate 2及Hibernate 3進行封裝的所有類。

    (7) spring-jdbc.jar

      這個jar文件包含對Spring對JDBC數據訪問進行封裝的所有類。

    (8) spring-orm.jar
     
    這個jar文件包含Spring對DAO特性集進行了擴展,使其支持 iBATIS、JDO、OJB、TopLink,因為Hibernate已經獨立成包了,現在不包含在這個包里了。這個jar文件里大部分的類都要依賴 spring-dao.jar里的類,用這個包時你需要同時包含spring-dao.jar包。

    (9) spring-remoting.jar

      這個jar文件包含支持EJB、JMS、遠程調用Remoting(RMI、Hessian、Burlap、Http Invoker、JAX-RPC)方面的類。

    (10) spring-support.jar

      這個jar文件包含支持緩存Cache(ehcache)、JCA、JMX、郵件服務(Java Mail、COS Mail)、任務計劃Scheduling(Timer、Quartz)方面的類。

    (11) spring-web.jar

      這個jar文件包含Web應用開發時,用到Spring框架時所需的核心類,包括自動載入WebApplicationContext特性的類、Struts與JSF集成類、文件上傳的支持類、Filter類和大量工具輔助類。

    (12) spring-webmvc.jar

    這個jar文件包含Spring MVC框架相關的所有類。包含國際化、標簽、Theme、視圖展現的FreeMarker、JasperReports、Tiles、Velocity、 XSLT相關類。當然,如果你的應用使用了獨立的MVC框架,則無需這個JAR文件里的任何類。

    (13) spring-mock.jar
     
      這個jar文件包含Spring一整套mock類來輔助應用的測試。Spring測試套件使用了其中大量mock類,這樣測試就更加簡單。模擬HttpServletRequest和HttpServletResponse類在Web應用單元測試是很方便的。

    如何選擇這些發布包,決定選用哪些發布包其實相當簡單。如果你正在構建Web應用并將全程使用Spring,那么最好就使用單個全部的 spring.jar文件;如果你的應用僅僅用到簡單的Inversion of Control / Dependency Injection(IoC/DI)容器,那么只需spring-core.jar與spring-beans.jar即可;如果你對發布的大小要求很高,那么就得精挑細選了,只取包含自己所需特性的jar文件了。采用獨立的發布包你可以避免包含自己的應用不需要的全部類。當然你可以采用其它的一些工具來設法令整個應用包變小,節省空間的重點在于準確地找出自己所需的Spring依賴類,然后合并所需的類與包就可以了。Eclispe有個插件叫 ClassPath Helper可以幫你找找所依賴的類。

    Spring包依賴說明:

    1)      spring-core.jar需commons-collections.jar,spring-core.jar是以下其它各個的基本。

    2)      spring-beans.jar需spring-core.jar,cglib-nodep-2.1_3.jar

    3)      spring-aop.jar需spring-core.jar,spring-beans.jar,cglib-nodep-2.1_3.jar,aopalliance.jar

    4)      spring-context.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,commons-collections.jar,aopalliance.jar

    5)      spring-dao.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,spring-context.jar

    6)      spring-jdbc.jar需spring-core.jar,spring-beans.jar,spring-dao.jar

    7)      spring-web.jar需spring-core.jar,spring-beans.jar,spring-context.jar

    8)      spring-webmvc.jar需spring-core.jar/spring-beans.jar/spring-context.jar/spring-web.jar

    9)      spring -hibernate.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,spring- dao.jar,spring-jdbc.jar,spring-orm.jar,spring-web.jar,spring-webmvc.jar

    10) spring-orm.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,spring-dao.jar,spring-jdbc.jar,spring-web.jar,spring-webmvc.jar

    11) spring -remoting.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,spring- dao.jar,spring-context.jar,spring-web.jar,spring-webmvc.jar

    12) spring-support.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,spring-dao.jar,spring-context.jar,spring-jdbc.jar

    13) spring-mock.jar需spring-core.jar,spring-beans.jar,spring-dao.jar,spring-context.jar,spring-jdbc.jar

    來源:http://blog.csdn.net/Pointer_v/archive/2007/10/30/1857078.aspx

    http://www.cnblogs.com/jackyrong/archive/2008/10/26/1319963.html
    posted on 2009-06-29 16:54 acerbic coffee 閱讀(256) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 狼群影院在线观看免费观看直播| 黄色网站软件app在线观看免费| 99在线精品视频观看免费| 亚洲人成网www| 99re免费在线视频| 亚洲伦理一区二区| 亚洲免费福利视频| 国产精品亚洲综合五月天| 国产人在线成免费视频| 亚洲欧美日韩综合久久久| 精品免费国产一区二区| 边摸边吃奶边做爽免费视频网站| 免费网站看v片在线香蕉| 香蕉视频在线观看免费| 亚洲热线99精品视频| 国产成人久久AV免费| 亚洲日韩乱码久久久久久| 日韩精品视频免费在线观看| 亚洲第一街区偷拍街拍| 久99精品视频在线观看婷亚洲片国产一区一级在线| 国产亚洲成在线播放va| 亚洲精品无码AV人在线播放| 99热在线精品免费播放6| 亚洲av无码久久忘忧草| 免费久久精品国产片香蕉| 中国好声音第二季免费播放| 亚洲av福利无码无一区二区| 999国内精品永久免费观看| 亚洲国产日韩a在线播放| 国产91精品一区二区麻豆亚洲 | 亚洲视频一区二区在线观看| 2020久久精品国产免费| 激情无码亚洲一区二区三区| 国产av无码专区亚洲av果冻传媒| 777成影片免费观看| 国产青草亚洲香蕉精品久久 | 成人性生交大片免费看无遮挡 | 亚洲欧美日韩综合久久久| 国产AV无码专区亚洲AWWW | 亚洲欧洲日产国码高潮αv| 国产激情免费视频在线观看|