1、spring框架结构和jar包



spring框架jar包 spring框架需要的jar包_spring框架jar包

springframe



1)、spring分为5部分:core、aop、data access、web、test,图中每个矩形框都是一个jar包,这些jar包的"groupId"都是"org.springframework"。  

2)、core部分包括四个模块:

           (1)spring-core:依赖注入IoC与DI的最基本实现;                                                           (2)spring-beans:Bean工厂与bean的装配;                                                                   (3)spring-context:spring的context上下文即IoC容器;                                                 (4)spring-expressi on:spring表达式语言 ;                                                                     依赖关系:  



spring框架jar包 spring框架需要的jar包_编程语言_02



        因为spring-core依赖了commons-logging,而其他模块都依赖了spring-core,所以整个spring框架都依赖了commons-logging,如果有自己的日志实现如log4j,可以排除对commons-logging的依赖,没有日志实现而排除了commons-logging依赖,编译报错。

3)、aop部分包含四个模块

           (1)spring-aop:面向切面编程                                                                                          (2)spring-aspects:集成AspectJ                                                                                      (3)spring-instrument:提供一些类级的工具支持和ClassLoader级的实现,用于服务器。                                                                                                                                      (4)spring-instrument-tomcat:针对tomcat的instrument实现。

  aop依赖关系



spring框架jar包 spring框架需要的jar包_spring_03



4)、data access部分包含5个模块

                (1)、spring-jdbc:jdbc的支持  (2)spring-tx:事务控制 (3)spring-orm:对象关系映射,集成orm框架   (4)spring-oxm:对象xml映射  (5)spring-jms:java消息服务 



spring框架jar包 spring框架需要的jar包_spring框架jar包_04

access依赖关系



5)web部分包含四个部分

           (1)spring-web:基础web功能,如文件上传                                                                    (2)spring-webmvc:mvc实现                                                                                        (3)spring-webmvc-portlet:基于portlet的mvc实现                                                       (4)spring-struts:与struts的集成,不推荐,spring4不再提供。



spring框架jar包 spring框架需要的jar包_spring框架jar包_05

web jar包依赖



6)、test分布只有一个模块

               (1)spring-test:spring测试,提供junit与mock测试功能                                               (2)spring-context-support:spring额外支持包,比如邮件服务视图解析。



spring框架jar包 spring框架需要的jar包_spring_06



Spring是一个一站式的轻量级开源软件,每一层Spring提供不同的解决技术。                   WEB层:SpringMVC                                                                                               业务层:Spring的IOC                                                                                               持久层:Spring的JDBCTemplate(Spring的JDBC模板,ORM模板用于整合其他的持久层框架)。

7)、spring各个jar作用

Spring AOP:Spring的面向切面编程,提供AOP(面向切面编程)的实现            Spring Aspects:Spring提供的对AspectJ框架的整合                                          Spring Beans:Spring IOC的基础实现,包含访问配置文件、创建和管理bean等。Spring Context:在基础IOC功能上提供扩展服务,此外还提供许多企业级服务的支持,有邮件服务、任务调度、JNDI定位,EJB集成、远程访问、缓存以及多种视图层框架的支持。                                                                                                                           Spring Context Support:Spring context的扩展支持,用于MVC方面。                      Spring Core:Spring的核心工具包                                                                            Spring exp ression:Spring表达式语言                                                                       Spring Framework Bom:                                                                                  Spring Instrument:Spring对服务器的代理接口                                                        Spring Instrument Tomcat:Spring对tomcat连接池的集成                               Spring JDBC:对JDBC 的简单封装                                                                     Spring JMS:为简化jms api的使用而做的简单封装                                                 Spring Messaging:                                                                                          Spring orm:整合第三方的orm实现,如hibernate,ibatis,jdo以及spring 的jpa实现Spring oxm:Spring对于object/xml映射的支持,可以让;">Spring test:对JUNIT等测试框架的简单封装                                                        Spring tx:为JDBC、Hibernate、JDO、JPA等提供的一致的声明式和编程式事务管理。                                                                                                                         Spring web:包含Web应用开发时,用到Spring框架时所需的核心类,包括自动载入WebApplicationContext特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类。                                                                                                    Spring webmvc:包含SpringMVC框架相关的所有类。包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、 Tiles、Velocity、XSLT相关类。当然,如果你的应用使用了独立的MVC框架,则无需这个JAR文件里的任何类。                         Spring webmvc portlet:Spring MVC的增强Spring websocket:提供Socket通信, web端的推送功能。