java

位置:IT落伍者 >> java >> 浏览文章

Spring 包结构


发布日期:2018年05月26日
 
Spring 包结构

Spring jar

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

Spring corejar

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

Spring beansjar

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

Spring aopjar

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

Spring contextjar

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

Spring daojar

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

Spring hibernatejar

是对Hibernate支持的所有类

Spring ormjar

该jar对Spring DAO特性集合进行了扩展使其支持iBATISJDOOJBTopLink由于Spring 将hibernate独立成包了因此在这里没有在支持hibernate这个文件里大部分的类都依赖Spring daojar中的类

Spring remotingjar

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

Spring supportjar

该组件提供对Cache(ehcache)JCAJMX邮件服务(Java MailCOS Mail)计划任务Scheduling(TimerQuartz)支持的类

Spring webjar

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

Spring webmvcjar

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

Spring mockjar

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

包间引用关系

Spring 中各个包引入之前都需要保证引入 commonsloggingjar

Spring corejar需 commonscollectionsjarSpring corejar 是以下其他各个组件的基础

Spring beansjar 需 Spring corejar/cglibnodep_jar

Spring aopjar 需 Spring corejar/Spring beansjar/cglibnodep_jar/aopalliancejar

Spring contextjar 需Spring corejar/Spring beansjar/Spring aopjar/commonscollectionsjar/aopalliancejar

Spring daojar 需 Spring corejar/Spring beansjar/Spring aopjar/Spring contextjar

Spring jdbcjar 需 Spring corejar/Spring beansjar/Spring daojar

Spring webjar 需 Spring corejar/Spring beansjar/Spring contextjar

Spring webmvcjar 需 Spring corejar/Spring beansjar/Spring contextjar/Spring webjar

Spring hibernatejar 需 Spring corejar/Spring beansjar/Spring aopjar/Spring daojar/Spring jdbcjar/Spring ormjar/Spring webjar/Spring webmvcjar

Spring ormjar 需 Spring corejar/Spring beansjar/Spring aopjar/Spring daojar/Spring jdbcjar/Spring webjar/Spring webmvcjar

Spring remotingjar 需 Spring corejar/Spring beansjar/Spring aopjar/Spring daojar/Spring contextjar/Spring webjar/Spring webmvcjar

Spring supportjar 需 Spring corejar/Spring beansjar/Spring aopjar/Spring daojar/Spring contextjar/Spring jdbcjar

Spring mockjar 需 Spring corejar/Spring beansjar/Spring daojar/Spring contextjar/Spring jdbcjar

上一篇:发现Hibernate中文问题又一解决方法

下一篇:Struts2利用stream直接输出Excel