spring
jar是包含有完整發布的單個jar包
spring
jar中包含除了spring
mock
jar裡所包含的內容外其它所有jar包的內容
因為只有在開發環境下才會用到spring
mock
jar來進行輔助測試
正式應用系統中是用不得這些類的
除了spring
jar文件
Spring還包括有其它
個獨立的jar包
各自包含著對應的Spring組件
用戶可以根據自己的需要來選擇組合自己的jar包
而不必引入整個spring
jar的所有類文件
(
) spring
core
jar
這個jar文件包含Spring框架基本的核心工具類
Spring其它組件要都要使用到這個包裡的類
是其它組件的基本核心
當然你也可以在自己的應用系統中使用這些工具類
(
) spring
beans
jar
這個jar文件是所有應用都要用到的
它包含訪問配置文件
創建和管理bean以及進行Inversion of Control / Dependency Injection(IoC/DI)操作相關的所有類
如果應用只需基本的IoC/DI支持
引入spring
core
jar及spring
beans
jar文件就可以了
(
) spring
aop
jar
這個jar文件包含在應用中使用Spring的AOP特性時所需的類
使用基於AOP的Spring特性
如聲明型事務管理(Declarative Transaction Management)
也要在應用裡包含這個jar包
(
) spring
context
jar
這個jar文件為Spring核心提供了大量擴展
可以找到使用Spring ApplicationContext特性時所需的全部類
JDNI所需的全部類
UI方面的用來與模板(Templating)引擎如Velocity
FreeMarker
JasperReports集成的類
以及校驗Validation方面的相關類
(
) spring
dao
jar
這個jar文件包含Spring DAO
Spring Transaction進行數據訪問的所有類
為了使用聲明型事務支持
還需在自己的應用裡包含spring
aop
jar
(
) spring
hibernate
jar
這個jar文件包含Spring對Hibernate
及Hibernate
進行封裝的所有類
(
) spring
jdbc
jar
這個jar文件包含對Spring對JDBC數據訪問進行封裝的所有類
(
) spring
orm
jar
這個jar文件包含Spring對DAO特性集進行了擴展
使其支持 iBATIS
JDO
OJB
TopLink
因為Hibernate已經獨立成包了
現在不包含在這個包裡了
這個jar文件裡大部分的類都要依賴spring
dao
jar裡的類
用這個包時你需要同時包含spring
dao
jar包
(
) spring
remoting
jar
這個jar文件包含支持EJB
JMS
遠程調用Remoting(RMI
Hessian
Burlap
Http Invoker
JAX
RPC)方面的類
(
) spring
support
jar
這個jar文件包含支持緩存Cache(ehcache)
JCA
JMX
郵件服務(Java Mail
COS Mail)
任務計劃Scheduling(Timer
Quartz)方面的類
(
) spring
web
jar
這個jar文件包含Web應用開發時
用到Spring框架時所需的核心類
包括自動載入WebApplicationContext特性的類
Struts與JSF集成類
文件上傳的支持類
Filter類和大量工具輔助類
(
) spring
webmvc
jar
這個jar文件包含Spring MVC框架相關的所有類
包含國際化
標簽
Theme
視圖展現的FreeMarker
JasperReports
Tiles
Velocity
XSLT相關類
當然
如果你的應用使用了獨立的MVC框架
則無需這個JAR文件裡的任何類
(
) 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包依賴說明
) spring
core
jar需commons
collections
jar
spring
core
jar是以下其它各個的基本
) spring
beans
jar需spring
core
jar
cglib
nodep
_
jar
) spring
aop
jar需spring
core
jar
spring
beans
jar
cglib
nodep
_
jar
aopalliance
jar
) spring
context
jar需spring
core
jar
spring
beans
jar
spring
aop
jar
commons
collections
jar
aopalliance
jar
) spring
dao
jar需spring
core
jar
spring
beans
jar
spring
aop
jar
spring
context
jar
) spring
jdbc
jar需spring
core
jar
spring
beans
jar
spring
dao
jar
) spring
web
jar需spring
core
jar
spring
beans
jar
spring
context
jar
) spring
webmvc
jar需spring
core
jar/spring
beans
jar/spring
context
jar/spring
web
jar
) 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
) spring
orm
jar需spring
core
jar
spring
beans
jar
spring
aop
jar
spring
dao
jar
spring
jdbc
jar
spring
web
jar
spring
webmvc
jar
) spring
remoting
jar需spring
core
jar
spring
beans
jar
spring
aop
jar
spring
dao
jar
spring
context
jar
spring
web
jar
spring
webmvc
jar
) spring
support
jar需spring
core
jar
spring
beans
jar
spring
aop
jar
spring
dao
jar
spring
context
jar
spring
jdbc
jar
) spring
mock
jar需spring
core
jar
spring
beans
jar
spring
dao
jar
spring
context
jar
spring
jdbc
jar
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28605.html