除了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文件包含在应用中使用SpringAOP特性时所需类使用基于AOPSpring特性如声明型事务管理(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、TopLinkHibernate已经独立成包了现在不包含在这个包里了这个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文件包含支持缓存CacheCache(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.jarspring-core.jar是以下其它各个基本
2) spring-beans.jar需spring-core.jarcglib-nodep-2.1_3.jar
3) spring-aop.jar需spring-core.jarspring-beans.jarcglib-nodep-2.1_3.jaraopalliance.jar
4) spring-context.jar需spring-core.jarspring-beans.jarspring-aop.jarcommons-collections.jaraopalliance.jar
5) spring-dao.jar需spring-core.jarspring-beans.jarspring-aop.jarspring-context.jar
6) spring-jdbc.jar需spring-core.jarspring-beans.jarspring-dao.jar
7) spring-web.jar需spring-core.jarspring-beans.jarspring-context.jar
8) spring-webmvc.jar需spring-core.jar/spring-beans.jar/spring-context.jar/spring-web.jar
9) spring -hibernate.jar需spring-core.jarspring-beans.jarspring-aop.jarspring- dao.jarspring-jdbc.jarspring-orm.jarspring-web.jarspring-webmvc.jar
10) spring-orm.jar需spring-core.jarspring-beans.jarspring-aop.jarspring- dao.jarspring-jdbc.jarspring-web.jarspring-webmvc.jar
11) spring -remoting.jar需spring-core.jarspring-beans.jarspring-aop.jarspring- dao.jarspring-context.jarspring-web.jarspring-webmvc.jar
12) spring-support.jar需spring-core.jarspring-beans.jarspring-aop.jarspring-dao.jarspring-context.jarspring-jdbc.jar
13) spring-mock.jar需spring-core.jarspring-beans.jarspring-dao.jarspring-context.jarspring-jdbc.jar
最新评论