spring学习--spring七大模块

Posted GLLegolas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring学习--spring七大模块相关的知识,希望对你有一定的参考价值。

 Spring的七个核心模块,供大家参考,具体内容如下

1、Spring core:核心容器

核心容器提供spring框架的基本功能。Spring以bean的方式组织和管理Java应用中的各个组件及其关系。Spring使用BeanFactory来产生和管理Bean,它是工厂模式的实现。BeanFactory使用控制反转(IoC)模式将应用的配置和依赖性规范与实际的应用程序代码分开。BeanFactory使用依赖注入的方式提供给组件依赖。主要实现控制反转IoC和依赖注入DI、Bean配置以及加载。

2、Spring AOP:Spring面向切面编程

通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了Spring框架中。所以,可以很容易地使 Spring框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。AOP把一个业务流程分成几部分,例如权限检查、业务处理、日志记录,每个部分单独处理,然后把它们组装成完整的业务流程。每个部分被称为切面或关注点。

AOP的实现原理为动态代理技术,一共有两种代理模式:

(1)ProxyFactoryBean代理工厂对象

Spring内置代理类,引入一个中间层,能够创建不同类型的对象,利用它可以实现任何形式的AOP。

(2)TransactionProxyFactoryBean事务代理工厂对象

常用在数据库编程上,Spring利用TransactionProxyFactoryBean对事务进行管理,在指定方法前利用AOP连接数据库并开启事务,然后在指定方法返回后利用AOP提交事务并断开数据库。

3、Spring context:Spring上下文

Spring上下文是一个配置文件,向Spring框架提供上下文信息。Spring上下文包括企业服务,如JNDI、EJB、电子邮件、国际化、校验和调度功能。提供框架式Bean访问方式,其他程序可以通过Context访问Spring的Bean资源。

4、Spring DAO

DAO模块主要目的是将持久层相关问题与一般的的业务规则和工作流隔离开来。Spring 中的DAO提供一致的方式访问数据库,不管采用何种持久化技术,Spring都提供一致的编程模型。Spring还对不同的持久层技术提供一致的DAO方式的异常层次结构。Spring的DAO模块对JDBC进行了再封装,隐藏了Connection、Statement、ResultSet等JDBC API,使DAO模块直接继承JdbcDaoSupport类。

5、Spring ORM(Object Relation Mapper)对象关系映射模块

Spring 与所有的主要的ORM框架都集成的很好,包括hibernate、JDO实现、TopLink和IBatis SQL Map等。Spring为所有的这些框架提供了模板之类的辅助类,达成了一致的编程风格。
Spring的ORM模块对ORM框架如Hibernate等进行了封装,Spring能够管理、维护Hibernate,使用时可直接继承HibernateDaoSupport类,该类内置一个HibernateTemplate。Hibernate的配置也转移到Spring配置文件中。

(注:ORM是通过使用描述对象和数据库之间映射的元数据,ORM框架采用元数据来描述对象--关系映射细节,元数据一般采用xml格式,并且存放在专门的对象--映射文件中)

6、Spring Web模块

Web模块建立在应用程序上下文模块之上,为基于Web的应用程序提供了上下文。Web层使用Web层框架,可选的,可以是Spring自己的MVC框架,或者提供的Web框架,如Struts、Webwork、tapestry和jsf。

Web模块用于整合Web框架,将Web框架也纳入Spring的管理之中。如Spring提供继承方式与代理方式整合Struts,继承方式不需要更改任何配置文件,只把Action继承自ActionSupport即可,但会对Spring产生依赖。代理方式需要在struts-config.xml中配置<controller>,由Spring全盘代理,因此可以使用Spring的各种资源、拦截器等。

7、Spring MVC

MVC框架是一个全功能的构建Web应用程序的MVC实现。通过策略接口,MVC框架变成为高度可配置的。Spring的MVC框架提供清晰的角色划分:控制器、验证器、命令对象、表单对象和模型对象、分发器、处理器映射和视图解析器。Spring支持多种视图技术。

Spring MVC 的工作流程:

(1) 客户端发送请求,请求到达 DispatcherServlet 主控制器。
(2) DispatcherServlet 控制器调用 HandlerMapping 处理。
(3) HandlerMapping 负责维护请求和 Controller 组件对应关系。 HandlerMapping 根据请求调用对应的 Controller 组件处理。
(4) 执行 Controller 组件的业务处理,需要访问数据库,可以调用 DAO 等组件。
(5)Controller 业务方法处理完毕后,会返回一个 ModelAndView 对象。该组件封装了模型数据和视图标识。
(6)Servlet 主控制器调用 ViewResolver 组件,根据 ModelAndView 信息处理。定位视图资源,生成视图响应信息。
(7)控制器将响应信息给用户输出。 

 

以上内容摘自:https://www.jb51.net/article/136979.htm

 

 

 

 

1.Spring核心容器:核心容器是Spring框架的重要组成部分,也可以说是Spring框架的基础。他在整个框架中的作用是负责管理对象的创建,管理,配置等等的操作。其主要包含spring-core,spring-beans,spring-context,spring-expression,spring-context-support组件。

2.面向切面编程:Spring框架还提供了面向切面编程的能力,利用面向切面编程,可以实现一些面向对象编程无法很好实现的操作。例如,将日志,事务与具体的业务逻辑解耦。其主要包含spring-aop,spring-aspects组件。

3.Instrumentation:该模块提供了为JVM添加代理的功能,该模块包含spring-instrument,spring-instrument-tomcat组件,使用较少,不必过分关注。

4.数据访问与集成:Spring框架为了简化数据访问的操作,包装了很多关于数据访问的操作,提供了相应的模板。同时还提供了使用ORM框架的能力,可以与很多流行的ORM框架进行整合,如hibernate,mybatis等等的著名框架。还实现了数据事务的能力,能够支持事务。包含spring-jdbc,spring-tx,spring-orm,spring-oxm,spring-jms,spring-messaging组件。

5.Web和远程调用:Spring框架支持Web开发,以及与其他应用远程交互调用的方案。包含spring-web,spring-webmvc,spring-websocket,spring-webmvc-portlet组件。

6.Spring测试:Spring框架提供了测试的模块,可以实现单元测试,集成测试等等的测试流程,整合了JUnit或者TestNG测试框架。包含spring-test组件。
————————————————
版权声明:本文为CSDN博主「qrzeng」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zeng1qing2rong3/article/details/81516467

以上是关于spring学习--spring七大模块的主要内容,如果未能解决你的问题,请参考以下文章

Spring 七大模块介绍

一头扎进Spring之---------Spring七大核心模块

Spring七大模块

Spring框架七大模块

Spring---七大核心模块

Spring---七大核心模块