Spring包结构以及各个包之间引用关系说明

来源:互联网 发布:怎样求和表格内的数据 编辑:程序博客网 时间:2024/06/10 15:20

Spring包结构以及各个包之间引用关系说明

 

Spring 包结构说明:

 

spring.jar


包含有完整发布的单个jar包。他包含有除spring-mock.jar之外的所有jar。原因是,spring-mock.jar只有在开发环境中才会用到,而且仅仅是作为一个辅助测试类存在。除了spring.jarspring还包括13个独立的jar文件,他们各自包含这 spring各自的组件。所以,如果你可以明确知道使用spring的哪些资源文件时,就没必要去直接引入spring.jar,但有时候 spring.jar的引入也是最偷懒和最直接的方式。

 

 

spring-core.jar


这个jar包含spring框架基本的核心工具类,spring其他组件都要使用到这个包里的类。是其他组件的基本核心。

 

spring-beans.jar


这个jar是所有应用都要用到的,他包含访问配置文件,创建和管理bean以及进行Inversion of Control / Dependency InjectionIoC/DI)操作相关的所有类如果应用只需基本的IoC/DI支持,引入spring-core.jarspring- beans.jar就已经足够了。

 

spring-aop.jar


包含一些使用AOP特性时需要用到的一些类。在使用spring AOP特性如Declarative Transaction Management(事务管理)就需要用到这个jar文件。

 


spring-context.jar


这个jar文件为spring提供了大量扩展。可以找到使用Spring ApplicationContext特性时所需的全部类。JNDI所需的全部类,用来跟模板引擎集成(VelocityFreeMarkerJasperReports)的类,以及校验相关类。

 


spring-dao.jar


包含Spring DAOSpring Transaction进行数据访问的所有类,为了使用声明性事务支持还需要在自己的应用里包含spring-aop.jar。

 

 

spring-hibernate.jar


是对Hibernate支持的所有类。

 


spring-orm.jar


jarspring DAO特性集合进行了扩展,使其支持iBATISJDOOJBTopLink,由于springhibernate独立成包了,因此在这里没有在支持hibernate。这个文件里大部分的类都依赖spring-dao.jar中的类。

 

 

spring-remoting.jar


这个包提供对EJBJMS以及远程调用(RMIHessianBurlapHttp Invoker JAX-RPC)相关的类。

 

 

spring-support.jar


该组件提供对Cacheehcache)、JCAJMX,邮件服务(Java MailCOS Mail),计划任务SchedulingTimerQuartz)支持的类。

 

 

spring-web.jar


如果web开发中开发,而且用到用到spring框架,那就应该引入这个包,该组件包括WebApplicationContext特性的类、strutsJSF集成类、文件上传的支持类、Filter类和大量工具辅助类。

 


spring-webmvc.jar


该组件包含Spring MVC框架相关的所有类,包含国际化、标签、Theme、视图展现的FreeMarkerJasperReportsTilesVelocityXSLT相关类。如果使用了独立的MVC框架则该组件不再需要。

 


spring-mock.jar


这个文件中包含Spring一整套mock类来辅助应用的测试。spring测试套件使用了大量的mock类,这样测试就更加简单了。由于可以对HttpServletRequestHttpServletResponse进行模拟,使得对web进行单元测试更加方便。

 

 

 

包间引用关系:

 

Spring中各个包引入之前都需要保证引入 commons-logging.jar
spring-core.jar
commons-collections.jarspring-core.jar 是以下其他各个组件的基础。

 
spring-beans.jar
spring-core.jar/cglib-nodep-2.1_3.jar
spring-aop.jar
spring-core.jar/spring-beans.jar/cglib-nodep-2.1_3.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

 

转自:http://danlley.cublog.cn

原创粉丝点击