Spring 3.x jar 包詳解 與 依賴關係

以下的內容我會持續更新(當然是我有新發現的時候);

以下內容是我在網上搜索、整理、修改的而成的內容。由於很多內容都是轉載了,無法追溯到源頭,因此無法一一對原作者進行道謝。

這幾天,我查閱大量的官方的文檔,對內容進行了進一步修正和說明,希望對各位有更大的幫助。同時這些依賴關係已在我項目中都進行測試,應該不會有什麼問題。

再次感謝網絡上各位老師。如果有什麼錯誤,煩請指正。

【Spring 3.1包詳解】
備註:以下的jar包,如果沒有特殊說明,大多數的最新版本都可以從http://ebr.springsource.com/repository/app/下載到

Spring 3.1與之前的 2.X 的不一樣,新版本把原來的包分解了,功能分工明確:

org.springframework.aop-3.1.1.RELEASE.jar ---- ----spring 的面向切面編程,提供AOP(面向切面編程)實現,

org.springframework.asm-3.1.1.RELEASE.jar ---- ---- Spring獨立的asm程序, Spring2.5.6的時候需要asmJar 包,3.0開始提供他自己獨立的asm.jar 
。ASM是小巧輕便的 Java 字節碼操控框架 ,它能方便地生成和改造 Java 代碼。 Hibernate 和 Spring 在底層都用到了 ASM(CgLib 底層用的 asm)。

org.springframework.aspects-3.1.1.RELEASE.jar ---- ---- spring整合了aspectjrt.jar,也可以使用aspectjrt.jar來代替。

org.springframework.beans-3.1.1.RELEASE.jar ---- ---- springIoC(依賴注入)的基礎實現,所有應用都要用到的,它包含訪問配置文件、創建和 
管理bean以及進行Inversion of Control / Dependency Injection(IoC/DI)操作相關的所有類。

org.springframework.context.support-3.1.1.RELEASE.jar ---- ---- spring-context 的擴展支持,包含支持緩存Cache(ehcache)、JCA、JMX、郵 
件服務(Java Mail、COS Mail)、任務計劃Scheduling(Timer、Quartz)方面的類。

org.springframework.context-3.1.1.RELEASE.jar ---- ----spring 提供在基礎 IoC 功能上的擴展服務,此外還提供許多企業級服務的支持,如 郵件 
服務、任務調度、JNDI定位、EJB 集成、遠程訪問、 緩存以及各種視圖層框架的封裝等。

org.springframework.core-3.1.1.RELEASE.jar ---- ---- 包含Spring框架基本的核心工具類,Spring其它組件要都要使用到這個包裏的類,是其它組 
件的基本核心。

org.springframework.expression-3.1.1.RELEASE.jar ---- ----spring 表達式語言。

org.springframework.instrument.tomcat-3.1.1.RELEASE.jar ---- ----spring3.1 對 Tomcat 的連接池的基成。

org.springframework.instrument-3.1.1.RELEASE.jar ---- ----spring3.1 對服務器的代理接口。

org.springframework.jdbc-3.1.1.RELEASE.jar ---- ----包含對Spring對JDBC數據訪問進行封裝的所有類。

org.springframework.jms-3.1.1.RELEASE.jar ---- ----提供了對JMS 1.0.2/1.1的支持類。

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

org.springframework.oxm-3.1.1.RELEASE.jar ---- ----spring 對Object/XMI 的映射的支持,可以讓JAVA與XML之間來回切換。

org.springframework.test-3.1.1.RELEASE.jar ---- ----spring 對Junit 等測試框架的簡單封裝。

org.springframework.transaction-3.1.1.RELEASE.jar ---- ----爲爲JDBC、Hibernate、JDO、JPA等提供的一致的聲明式和編程式事務管理。

org.springframework.web.portlet-3.1.1.RELEASE.jar ---- ----springMVC 的增強,支持portlet標準(JSR168/JSR286)。

org.springframework.web.servlet-3.1.1.RELEASE.jar ---- ----對 J2EE6.0 Servlet3.0 的支持。

org.springframework.web.struts-3.1.1.RELEASE.jar ---- ---- 整合 Struts 的支持。

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


【Spring AOP + aspectJ 編程需要導入】
Spring自帶的:
1、org.springframework.aop-3.1.1.jar(依賴【2】、【3】、【4】)
2、com.springsource.org.aopalliance-1.0.0.jar
3、com.springsource.org.apache.commons.logging-1.1.1.jar
4、org.springframework.core-3.1.1.RELEASE.jar(依賴【3】)
使用aspectJ框架,還需導入:
5、org.springframework.aspects-3.1.1.RELEASE.jar(依賴【6】、【7】、【8】、【9】)
6、com.springsource.org.apache.commons.logging-1.1.1.jar
7、org.springframework.beans-3.1.1.RELEASE.jar(依賴【6】、【8】)
8、org.springframework.core-3.1.1.RELEASE.jar(依賴【6】)
9、org.springframework.context-3.1.1.RELEASE.jar(依賴【6】、【7】、【8】)
10、com.springsource.org.aspectj.runtime-1.6.12.RELEASE.jar(似乎可以不要,見【Spring 3.1包詳解】)
11、com.springsource.org.aspectj.weaver-1.6.12.RELEASE.jar
如果項目不是面向接口編程,則還需要下載cglib包放到項目裏,因爲cglib包可以產生不面向接口的代理:
12、com.springsource.net.sf.cglib-2.2.0
另外,由於cglib底層實現使用了ASM,所以還需要導入Spring自帶的:
13、org.springframework.asm-3.1.1.RELEASE.jar

【DataSource】
【使用c3p0需要導入】
com.springsource.com.mchange.v2.c3p0-0.9.1.2

【使用dbcp需要導入】
1、com.springsource.org.apache.commons.dbcp-1.2.2.osgi.jar(依賴【2】)
2、com.springsource.org.apache.commons.pool-1.5.3.jar

【使用Proxool需要導入】
1、com.springsource.org.logicalcobwebs.proxool-0.9.1(依賴【2】、【3】)
2、com.springsource.org.apache.commons.logging-1.1.1.jar
3、com.springsource.org.logicalcobwebs.cglib.core-0.9.1(依賴【4】)
4、com.springsource.net.sf.cglib-2.2.0.jar

【使用BoneCP需要導入】
1、bonecp-0.7.1.RELEASE.jar(在http://jolbox.com/requirements.html下載)(依賴【1】、【2】、【3】)
2、guava-11.0.2.jar(http://code.google.com/p/guava-libraries/wiki/Release11下載)
3、slf4j-api-1.6.4.jar(依賴【4】)
4、slf4j-nop-1.6.4.jar(如果要換成其他日誌的實現,例如log4j,請自行替換成其他包)
5、jsr305-2.0.0.jar(據說本來是在JDK7中支持該標準的,但被推遲到了jdk8。 另外,我在官網中也沒發現jdk7支持jsr305標準,下載地址 
http://www.jarvana.com/jarvana/archive-details/com/google/code/findbugs/jsr305/2.0.0/jsr305-2.0.0.jar,下載後源碼和二進制碼事實 
上都是在這個包裏的)

【使用tomcat jdbc pool需要導入】
1、com.springsource.org.apache.tomcat.jdbc-1.0.9.3(依賴【2】)
2、com.springsource.org.apache.juli.extras.springsource-6.0.32.S2-r1673.jar ---- Apache Tomcat的JULI日誌組件允許Web應用提供 
自己的日誌配置

 

希望以上內容對你有用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章