Spring基础

来源:互联网 发布:dota三大后期 知乎 编辑:程序博客网 时间:2024/05/16 18:40

1.Spring的工作原理

     (1).springmvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。

  (2).DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller.

  (3).DispatcherServlet请请求提交到目标Controller

  (4).Controller进行业务逻辑处理后,会返回一个ModelAndView

  (5).Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象

  (6).视图对象负责渲染返回给客户端。

 

2.Spring的组成部分

          Spring框架有七个模块组成,这7个模块(或组件)均可以单独存在,也可以与其它一个或多个模块联合使用,主要功能表现如下:

         (1).Spring 核心容器(Core):提供Spring框架的基本功能。核心容器的主要组件是BeanFactory,它是工厂模式的实现。BeanFactory使用控制反转(Ioc)模式将应用程序的配置和依赖性规范与实际的应用代码程序分开。

         (2).Spring AOP: 通过配置管理特性,Spring AOP模块直接面向切面编程的功能集成到了Spring框架中,可以很容易的使Spring框架管理的任何对象支持AOP。Spring AOP模块为基于Spring的应用程序中的对象提供了事务管理服务。通过使用Spring AOP,不用依赖与EJB组件,就可以将声明性事务管理集成到应用程序中。

         (3).Spring ORM:   Spring框架集成了若干ORM框架(如Hibernate,Ibatis等),从而提供了ORM的对象关系工具,其中包括JDO、Hibernate、Ibatis和TopLink。所有这些都遵从Spring的通用事务和DAO异常层结构。

 

         (4).Spring DAO:   JDBC DAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据供应商(即不同DB),所抛出的异常错误信息。异常层次结构简化了错误处理,并且大大的降低了需要编写的异常代码数量(例如,打开和关闭连接)。Spring DAO的面向JDBC的异常遵从通用的DAO异常层结构。


         (5).Spring Web:Web上下文模块建立在上下文模块(Context)的基础之上,为基于web服务的应用程序提供了上下文的服务。所以Spring 框架支持Jakarta Struts的集成。Web模块还简化了处理多部分请求,及将请求参数绑定到域对象的工作。

 

         (6).Spring上下文(Context): Spring上下文是一个配置文件,向Spring框架提供上下文信息。Spring上下文包括企业服务,例如JNDI、EJB、电子邮件、国际化校验和调度功能。

 

         (7).Spring MVC: Spring的MVC框架是一个全功能的构建Web应用程序的MVC实现。通过策略接口MVC框架变成为高度可配置的,MVC容纳的大量视图技术,包括JSP、Velocity、Tiles、iText和Pol等。

 

          Spring 框架的功能可以用在任何 J2EE服务器中,大多数功能也适用于不受管理的环境。Spring的核心要点是:支持不绑定到特定 J2EE服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同 J2EE 环境 (Web或EJB)、独立应用程序、测试环境之间重用。

 3.Spring的优缺点

          它是一个开源的项目,而且目前非常活跃;它基于IoC(Inversion of Control,反向控制)和AOP的构架多层j2ee系统的框架,但它不强迫你必须在每一层 中必须使用Spring,因为它模块化的很好,允许你根据自己的需要选择使用它的某一个模块;它实现了很优雅的MVC,对不同的数据访问技术提供了统一的 接口,采用IoC使得可以很容易的实现bean的装配,提供了简洁的AOP并据此实现Transcation Managment,等等

     优点:

  1. Spring是分层的架构,你可以选择使用你需要的层而不用管不需要的部分
  2. Spring是POJO编程,POJO编程使得可持续构建和可测试能力提高
  3. 依赖注入和IoC使得JDBC操作简单化 ,降低程序之间的耦合度
  4. Spring是开源的免费的
  5. Spring使得对象管理集中化合简单化 ,方便管理

 

    缺点:

原创粉丝点击