hibernate jar 包 1.antlr-2.7.6 rc1 :支持 hibernate 執(zhí)行 hql 語句 如果沒有添加會報 NoClassDefFoundError:antlr/AntlrException 注: HQL ( HibernateQuery Language )提供更加豐富靈活、更為強大的查詢能力。 2.commons-collections-3.1 : ApacheCo
hibernate jar包
1.antlr-2.7.6rc1:支持hibernate執(zhí)行hql語句 如果沒有添加會報NoClassDefFoundError:antlr/AntlrException注:HQL(HibernateQuery Language)提供更加豐富靈活、更為強大的查詢能力。
2.commons-collections-3.1:ApacheCommons包中的一個,包含了一些Apache開發(fā)的集合類,功能比java.util.*強大,必須使用的jar包。
3.dom4j-1.6.1:xml解析器,提供簡單的api讀取指定xml
4.ehcache-1.2.3:應(yīng)用層的緩存組件;可以理解為,持久層從數(shù)據(jù)庫查詢出來的對象,交給ehcache保管,下次持久層再需要的時候ehcache直接返回給持久層,不查詢數(shù)據(jù)庫;當(dāng)持久層需要改變某數(shù)據(jù)時,會讓ehcache更新直接的備份并且保存到數(shù)據(jù)庫
5.ejb3-persistence:規(guī)范內(nèi)容包括Bean提供者,應(yīng)用程序裝配者,EJB容器,EJB配置工具,EJB服務(wù)提供者,系統(tǒng)管理員。這里面,EJB容器是EJB之所以能夠運行的核心。EJB容器管理著EJB的創(chuàng)建,撤消,激活,去活,與數(shù)據(jù)庫的連接等等重要的核心工作。如果缺少會拋出java.lang.NoClassDefFoundError: javax/persistence/EntityListeners異常
6.hibernate3:Hibernate的核心庫,數(shù)據(jù)庫連接不需要我們自己來管理,Hibernate對原來的SQL語句進行了封裝,原來是對表操作,現(xiàn)在是對對象操作
7.hibernate-annotations:注解配置,Hibernate的配置依賴于外部 XML 文件:數(shù)據(jù)庫映射被定義為一組 XML 映射文件,并且在啟動時進行加載
核心注解:
@Entity 聲明當(dāng)前是一個持久化類
@Table 設(shè)置當(dāng)前持久化類所映射的數(shù)據(jù)庫表,如果當(dāng)前類中沒有使用@Table注解,Hibernate會自動使用默認的持久化類的類名(不帶包名)作為所映射的表名
@Id 設(shè)置當(dāng)前持久化類的標示符屬性
@GeneratedValue 設(shè)置當(dāng)前標示符的生產(chǎn)策略。
@GeneratedValue的name屬性設(shè)置生成策略的名稱是TABLE、INENTITY、SEQUENCE或者AUTO之一。
@Column 將持久化類的數(shù)學(xué)與數(shù)據(jù)庫表中的字段進行映射,name屬性值為映射的字段名,length屬性值為字段的長度,unique屬性表示該列上設(shè)置唯一的約束,nullable屬性設(shè)置該列的值是否可以為空,precision實現(xiàn)設(shè)置該字段
的精度,scale屬性設(shè)置該字段的小數(shù)位數(shù)
@Transient 標注的屬性進行持久化映射
@Temporal java中沒有定義時間精度的api,因此處理時間類型數(shù)據(jù)時,需要設(shè)置存儲在數(shù)據(jù)庫中所預(yù)期的精度,使用
@Temporal注釋可以調(diào)整時間的精度為:DATE、TIME和TIMESTAMP三種
@ManyToOne 設(shè)置該當(dāng)前持久化類類與其他持久化類之間的多對一關(guān)聯(lián),其中CascadeType值表示Hibernate將進行級聯(lián)操作
@OneToMany 設(shè)置該當(dāng)前持久化類與其他持久化類之間的一對多關(guān)聯(lián)
@OneToOne 設(shè)置該當(dāng)前持久化類與其他持久化類之間的一對一關(guān)聯(lián)
@ManyToMany 設(shè)置該當(dāng)前持久化類與其他持久化類之間的多對多關(guān)聯(lián)
@NameQueries 在持久化類中設(shè)置命名查詢,參考@NameQuery的使用
@NameQuery 在持久化類中設(shè)置命名查詢,@NamedQuery 和@NamedQueries注釋加在在類和包上。如下面的例子:
@NamedQueries({@NamedQuery(name="queryById",query="selectp from Product p where id=:id")})
@Version 設(shè)置樂觀鎖定
@Cache 設(shè)置二級緩存
@Filters 設(shè)置使用過濾器
@FilterDef 聲明過濾器
8.hibernate-cglib-repack-2.1_3:CGLIB庫,Hibernate用它來實現(xiàn)PO字節(jié)碼的動態(tài)生成,非常核心的庫,必須使用的jar包
9.hibernate-commons-annotations:使用注解時需要用到的jar包
10.hibernate-entitymanager:HibernateEntityManager實現(xiàn)了EJB3.0 JPA規(guī)范。HibernateJava Persistence provider通過了Sun TCK測試和完全認證,你可以在Java SE 5.0,或Java EE 5.0以上的任何環(huán)境里使用Hibernate Java Persistence provider。定義了對數(shù)據(jù)庫進行持久化操作的接口。
11.javassist-3.4.GA:Javassist的(JAVA編程助手)使Java字節(jié)碼操縱簡單。這是一個編輯Java字節(jié)碼的類庫。
12.jta-1.1:JavaTransaction API,JTA允許應(yīng)用程序執(zhí)行分布式事務(wù)處理——在兩個或多個網(wǎng)絡(luò)計算機資源上訪問并且更新數(shù)據(jù)。JDBC驅(qū)動程序的JTA支持極大地增強了數(shù)據(jù)訪問能力。
13.log4j:是Apache的一個開放源代碼項目,通過使用Log4j,我們可以控制日志信息輸送的目的地是控制臺、文件、GUI組件、甚至是套接口服務(wù)器、NT的事件記錄器、UNIX Syslog守護進程等;我們也可以控制每一條日志的輸出格式;通過定義每一條日志信息的級別,我們能夠更加細致地控制日志的生成過程。最令人感興趣的就是,這些可以通過一個配置文件來靈活地進行配置,而不需要修改應(yīng)用的代碼。
14.slf4j-api-1.5.2:SLF4J,即簡單日志門面(Simple Logging Facade for Java)。從設(shè)計模式的角度考慮,它是用來在log和代碼層之間起到門面的作用。對用來來說只要使用slf4j提供的接口,即可隱藏日志的具體實現(xiàn)。這與jdbc和相似。使用jdbc也就避免了不同的具體數(shù)據(jù)庫。使用了slf4j可以對客戶端應(yīng)用解耦。因為當(dāng)我們在代碼實現(xiàn)中引入log日志的時候,用的是接口,所以可以實時的更具情況來調(diào)換具體的日志實現(xiàn)類。這就是slf4j的作用。SLF4J所提供的核心API是一些接口以及一個LoggerFactory的工廠類。SLF4J提供了統(tǒng)一的記錄日志的接口,只要按照其提供的方法記錄即可,最終日志的格式、記錄級別、輸出方式等通過具體日志系統(tǒng)的配置來實現(xiàn),因此可以在應(yīng)用中靈活切換日志系統(tǒng)。
15.slf4j-log4j12:slf4j是hibernate的日志接口,通常我們用log4j.jar來實現(xiàn)hibernate的記錄日志功能,slf4j-log4j.jar可以看成是用來把slf4j的接口轉(zhuǎn)換成適合log4j的接口的一個適配器。
1.aspectjrt:處理事務(wù)和AOP所需的包。AOP是OOP的延續(xù),是AspectOriented Programming的縮寫,意思是面向方面編程。AOP實際是GoF設(shè)計模式的延續(xù),設(shè)計模式孜孜不倦追求的是調(diào)用者和被調(diào)用者之間的解耦,AOP可以說也是這種目標的一種實現(xiàn)。
Authentication 權(quán)限
Caching 緩存
Context passing 內(nèi)容傳遞
Error handling 錯誤處理
Lazy loading 懶加載
Debugging 調(diào)試
logging, tracing,profiling and monitoring 記錄跟蹤 優(yōu)化 校準
Performanceoptimization 性能優(yōu)化
Persistence 持久化
Resource pooling 資源池
Synchronization 同步
Transactions 事務(wù)
對于傳統(tǒng)的基于特定事務(wù)資源的事務(wù)處理而言(如基于JDBC 的數(shù)據(jù)庫訪問),Spring并不會對其產(chǎn)生什么影響,我們照樣可以成功編寫并運行這樣的代碼。同時,Spring還提供了一些輔助類可供我們選擇使用,這些輔助類簡化了傳統(tǒng)的數(shù)據(jù)庫操作流程,在一定程度上節(jié)省了工作量,提高了編碼效率。對于依賴容器的參數(shù)化事務(wù)管理而言,Spring則表現(xiàn)出了極大的價值。Spring本身也是一個容器,只是相對EJB容器而言,Spring顯得更為輕便小巧。我們無需付出其他方面的代價,即可通過Spring實現(xiàn)基于容器的事務(wù)管理(本質(zhì)上來講,Spring的事務(wù)管理是基于動態(tài)AOP)。
2.aspectjweaver:處理事務(wù)和AOP所需的包
3.c3p0-0.9.1.2:c3p0數(shù)據(jù)庫連接池,利用 sqljdbc4 建立與數(shù)據(jù)庫的連接,并且管理這些連接,不用每次訪問數(shù)據(jù)庫都 重新發(fā)出數(shù)據(jù)庫連接請求,只需
要在c3p0的連接池中拿一個過來就可以了,這樣可以大大的提高性能。
4.cglib-nodep-2.1_3:Glib是一個強大的,高性能,高質(zhì)量的Code生成類庫。它可以在運行期擴展Java類與實現(xiàn)Java接口。當(dāng)然這些實際的功能是asm所提供的,asm又是什么?Java字節(jié)碼操控框架。cglib就是封裝了asm,簡化了asm的操作,實現(xiàn)了在運行期動態(tài)生成新的class。實際上CGlib為springaop提供了底層的一種實現(xiàn);為hibernate使用cglib動態(tài)生成VO/PO (接口層對象)
5.common-annotations:支持注解包
6.commons-logging:ASF出品的日志包,struts2 2、spring、hibernate框架使用這個日志包來支持Log4J和JDK 1.4+的日志記錄
7.spring:分層架構(gòu),分層架構(gòu)允許使用者選擇使用哪一個組件,同時為 J2EE 應(yīng)用程序開發(fā)提供集成的框架。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。
1.commons-fileupload-1.2.1:Java Web開發(fā)人員可以使用Apache文件上傳組件來接收瀏覽器上傳的文件,該組件由多個類共同組成,但是,對于使用該組件來編寫文件上傳功能的Java Web開發(fā)人員來說,只需要了解和使用其中的三個類:DiskFileUpload、FileItem和FileUploadException。這三個類全部位于org.apache.commons.fileupload包中。
2.freemarker-2.3.15:Freemaker是一個”模板引擎”,也可以說是一個基于模板技術(shù)的生成文本輸出的一個通用工具.它是一個JAVA的包,一個JAVA程序員可以使用的類庫.本身并不是一個對最終用戶的應(yīng)用程序.但是,程序員可以把它應(yīng)用到他們的產(chǎn)品中.FreeMarker是設(shè)計為可以生成WEBPAGES.它是基于SERVLET遵循MVC模式的.這個思路是應(yīng)用MVC模式要降低分離,網(wǎng)頁設(shè)計人員和程序員的耦合.
3.ognl-2.7.3:OGNL是Object-Graph Navigation Language的縮寫,它是一種功能強大的表達式語言,通過它簡單一致的表達式語法,可以存取對象的任意屬性,調(diào)用對象的方法,遍歷整個對象的結(jié)構(gòu)圖,實現(xiàn)字段類型轉(zhuǎn)化等功能。它使用相同的表達式去存取對象的屬性。
4.struts2-core-2.1.8.1:struts核心包1.獲取表單內(nèi)容,并組織生成參數(shù)對象2.根據(jù)請求的參數(shù)轉(zhuǎn)發(fā)請求給適當(dāng)?shù)目刂破?.在控制器中調(diào)用業(yè)務(wù)接口4.將業(yè)務(wù)接口返回的結(jié)果包裝起來發(fā)送給指定的視圖,并由視圖完成處理結(jié)果的展現(xiàn)5.做一些簡單的校驗或是國際化工作
5.struts2-spring-plugin-2.1.8:當(dāng)引入這個插件后,原先所struts創(chuàng)建的action類,交給了spring創(chuàng)建。在struts2-spring-plugin.jar中有一個struts-plugin.xml,里面聲明了action類由spring工廠創(chuàng)建。在struts2插件文檔里,這樣寫著“The Spring Plugin works by overriding the Struts ObjectFactory toenhance the creation of core framework objects?!边@個插件重寫了struts的對象工廠,當(dāng)創(chuàng)建一個action類時,它會根據(jù)struts的配置文件的class屬性的值與spring配置文件中的 id屬性的值相匹配。如果沒有與之相匹配,將會像沒有使用這個插件前一樣創(chuàng)建,然后由spring自動裝配。
6.xwork-core-2.1.6:xwork的核心jar包,由于struts2是webwork的升級版本,所以必定對其有所依賴(struts2在其基礎(chǔ)上構(gòu)建)
mysql-connector-java-3.1.13-bin:mysql連接驅(qū)動類庫
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com