Spring、SpringMVC、MyBatis框架的作用

一、Spring框架

  1. Spring框架主要的Spring IOC(控制反转)和Spring AOP(面向切面)为思想内核。
  2. SpringIOC控制反转,即将创建对象和销毁对象的控制权交给了Spring容器。
    首先将需要的Bean对象保存在bean.properties配置文件中,例如UserDao=com.xxx.dao.UserDaoImpl,在创建Spring容器时,将这些配置的非懒加载单例Bean对象创建,并保存在HashMap中,key为属性(UserDao),value为根据该值创建出来的对象。在需要的时候从Spring容器中取即可。
  3. 依赖注入
    1)手动注入,例如将Dao注入到Service中,即在bean.xml文件中定义Dao和Service的bean,然后将Dao的bean的id通过property属性进行注入到Service中(property是在Service的bean标签内)。
    定义一个Service类,定义Dao对象,为其创建get,set方法。
    最后在容器中创建完Bean对象后,从容器中Service对象,然后再通过Service对象获取Dao对象即可完成依赖注入。
    2)自动注入autowire
    byName:在Spring容器中查找id与属性名相同的Bean,并进行注入。需要提供set方法。
    byType:在Spring容器中查找类型与属性类型相同的bean,并进行注入。需要提供set方法。即根据类对象的类型进行匹配。
    constructor:在Spring容器中查找id与属性名相同的bean,并进行注入。需要提供构造方法。

二、Spring体系结构

  1. Core Container:Spring核心模块,任何功能的使用都离不开该模块,是其他模块建立的基础。也就是Spring容器。
  2. Data Access/Integration:该模块提供了数据持久化的相应功能。即数据存取或数据整合模块。
  3. Web:该模块提供了Web开发的相应功能。
  4. AOP:提供了面向切面编程实现。
  5. Aspects:提供了与AspectJ框架的集成,该框架是一个面向切面编程框架。
  6. Instrumentation:提供了类工具的支持和类加载器的实现,可以在特定的应用服务器中使用。
  7. Messaging:为Spring框架集成了一些基础的报文传送应用。
  8. Test:提供与测试框架的集成。

三、SpringMVC框架

MVC全称Model View Controller,是一种设计创建Web应用程序的模式。

  1. Model(模型):指数据模型。用于存储数据以及处理用户请求的业务逻辑。在Web应用中,JavaBean对象,业务模型等都属于Model。即相当于dao、service、实体类等都是属于模型。
  2. View(视图):用于展示模型中的数据,一般为jsp或html文件。
  3. Controller(控制器):是应用程序中处理与用户交互的部分。接受视图提出的请求,将数据交给模型处理。并将处理后的结果交给视图显示。
  4. SpringMVC是一个基本MVC模式的轻量级Web框架,是Spring框架中的一个模块,和Spring可以直接整合使用。
  5. SpringMVC代替了Servlet技术,它通过一套注解,让一个简单的Java变成处理请求的控制器,而无须实现任何接口。

四、SpringMVC框架的执行流程

SpringMVC的组件

  1. DispatcherServlet:前端控制器,接受所有请求,调用其他组件。
  2. HandlerMapping:处理器映射器,根据配置找到方法的执行链。
  3. HandlerAdapter:处理器适配器,根据方法类型找到对应的处理器。
  4. ViewResolver:视图解析器,找到指定视图。

SpringMVC的工作流程

  1. 客户端将请求通过浏览器发给前端控制器。
  2. 前端控制器将请求发送给处理器映射器,处理器映射器根据路径找到方法的执行链,将方法的执行链返回给前端控制器。
  3. 前端控制器将方法执行链发送给处理器适配器,处理器适配器根据方法类型找到对应的处理器。
  4. 处理器执行方法,将结果返回给前端控制器。
  5. 前端控制器将结果发送给视图解析器,视图解析器找到视图文件位置。
  6. 视图渲染数据,并将结果显示到客户端。

五、MyBatis框架

  1. ORM(Object Relation Mapping)框架,对象关系映射,即在对象和数据库之间做映射处理。
  2. MyBatis是一个半自动ORM(Object Relation Mapping)框架,它的本质是对JDBC的封装,因为使用MyBatis框架不需要编写JDBC代码,但是需要编写SQL语句。
  3. 使用JDBC操作数据库,必须手动进行对象和数据库之间的数据转换。而使用ORM框架代替JDBC后,框架可以自动进行数据库和对象之间的转换,极大的增强了开发效率。

你可能感兴趣的:(spring,mybatis,java)