SpringMVC+Spring+Mybatis整合步骤

1、SpringMVC

SpringMVC是spring框架的一个模块,Spring和SpringMVC无需通过中间曾进行整合。

SpringMVC是基于mvc的WEB层框架。

MVC:Model View Controller 缩写

Spring 整合 Redis 集群 springmvc redis整合_java


1.1、SpringMVC 运行原理

Spring 整合 Redis 集群 springmvc redis整合_mybatis_02


执行过程:

a)当用户发起Http请求,以字符串的形式发送: http://localhost:8080/user/login.do

user:——>对应的是controller映射路径

login:——>对应的是方法上的映射路径

.do:——>是请求的拦截标识符

b)前端控制器DispatcherServlet(核心控制),前端控制器拿到请求之后,

c)请求查找Handler,找对应的HandlerMapping(控制器映射器),找到对应的控制器,则返回其对应的执行链chain(把具体的直行链返回给核心控制)。找不到则返回404,请求不存在

d)核心控制器得到执行链后,调用HandlerAdapte(控制器适配器),去调用对应的Handler(Controller).

e)Handler处理完成后返回ModelAndView(试图和模型)

f)HandlerAdapte把对应的ModelAndView依次返回给DispatcherServlet

g)DispatcherServlet核心控制器得到MV后调用视图解析器(InternalResourceViewResolver)

h)视图解析器解析完成后返回View给DispatcherServlet

i)把得到的试图封装在Response中返回给前段

j)前台经过浏览器的渲染,最终把数据展示给用户

源码的执行步骤

第一步:发起请求到前端控制器(DispatcherServlet)

第二步:前端控制器请求HandlerMapping查找 Handler

可以根据xml配置、注解进行查找

第三步:处理器映射器HandlerMapping向前端控制器返回Handler

第四步:前端控制器调用处理器适配器去执行Handler

第五步:处理器适配器去执行Handler

第六步:Handler执行完成给适配器返回ModelAndView

第七步:处理器适配器向前端控制器返回ModelAndView

ModelAndView是springmvc框架的一个底层对象,包括 Model和view

第八步:前端控制器请求视图解析器去进行视图解析

根据逻辑视图名解析成真正的视图(jsp)

第九步:视图解析器向前端控制器返回View

第十步:前端控制器进行视图渲染

视图渲染将模型数据(在ModelAndView对象中)填充到request域

第十一步:前端控制器向用户响应结果

2、Mybaits
Mybatis是什么
Mybatis是一个持久层的框架

3、Spring
Spring是什么
Spring是一个WEB的容器。

两个特性:

IOC(控制反转):对象的管理权反转给容器。

控制反转的核心是DI(依赖注入)。注入的三种方式:属性注入、Setter方法、构造器注入

AOP(面向切面编程)

整合步骤

Spring 整合 Redis 集群 springmvc redis整合_mybatis_03


Mybatis整合

1、sqlMapperConfig.xml

i)要扫描的实体类所在的路径

ii)数据源:由于mybatis是持久层框架要操作数据库,所以要依赖数据源来连接.(由于spring管理事务也需要连接数据库,此处数据源统一交给Spring管理)

2、applicationContext-dao.xml

i)通过资源加载起加载db.properties

ii)配置数据源(c3p0、dbcp、durid[温少])

a)驱动信息

b)url信息

c)用户名

d)密码

e)最大连接数

f)最大活跃数

iii)配置工程SQLSessionFactory

a)赋值数据源信息

iv)配置Mapper扫描器MapperScanerConfig

a)Mapper所在的路径(com.xx.mapper;)

b)通过那个工厂去扫描sqlSessionFactoryBeanName

3、applicationContext-service.xml

通过注解开发,直接通过扫描器conpent-scan扫描@Service标识的接口

4、applicationContext-transaction.xml

a)事务管理器DataSourceTransactionManager >tx:advice:通知的5种方式(传播行为:7种传播行为:requireD)

b)Aop面向切面编程:exector拦截的具体路径:com.xx.service.impl..(…)

c)切点:一组连接点的集合叫做切点(连接点save*,delete*)

5、Springmvc.xml

a)扫描控制器的路径

b)配置三大组件:声明式(配置文件中配置)、注解式:通过注解驱动

i.HandlerMapping:处理器映射器

ii.HandlerAdapter:处理器适配器

iii.ViewResolver:视图解析器

1.PreFix:前缀:WEB-INF/

2.suffix:.jsp/.html

6、Web.Xml

a)引入Spring的上下文

i.配置文件所在路径:applicationContext-*.xml,springmvc

b)配置Spring的监听

c)配置核心控制

d)配置字符编码集characterCoding=utf-8