三大框架概述
ssm三大框架指的是Spring,SpringMVC,mybatis这三个流行框架
主要分层有以下几层:
视图层:view层
负责前台的JSP页面的展示
发送请求
控制层:Controller层
负责具体的业务模块流程控制
Controller层通过要调用Service层的接口,接收前端传递的参数控制业务逻辑,接着返回指定的数据或者视图,对于不同的业务逻辑,会有不同的控制器进行控制
业务层:Service层
负责业务的逻辑设置
Service层需要先设计接口,然后再设计实现的类Impl,所以在service包中,通常会有service接口,也有Impl包及其中的实现类,除此之外,Service层要调用DAO层的接口,实现具体的实现类
持久层:DAO层
负责与数据库相关的一些操作,处理数据持久化的工作
DAO层同样也需要首先设计接口,然后在配置文件中定义实现类,在dao包中,也会有Impl中的实现类,而其中的数据源配置,及数据库的配置,都在Spring的配置文件中进行配置
各层中的联系与分割
在平常的开发之中可以看出来,视图层和控制层的联系还是不少的,两者最好在一起进行开发,甚至可以看成一个整体进行开发
而对于业务层和持久层来说,联系就很少了,也就是我们所说的低耦合,这使得两者可以独立进行开发
SSM执行流程
第一步:发起request请求到前端控制器DispactherServlet,有了DispactherServlet就减少其他组件的的耦合性
第二步:前端控制器请求处理器映射器HandlerMapping查找Handler可以根据XML配置,注解进行查找
第三步:处理器映射器向前端控制器返回Handler
第四步:前端控制器调用处理器适配器HandlerAdapter去执行Handler
第五步:处理器适配器去Handler处理器执行Handler
第六步:Handler处理器执行完返回ModelAndView
第七步:处理器适配器向前端控制器返回ModelAndView, ModelAndView是springmvc的一个底层对象,包括 mode 和 view
第八步:前端控制器请求视图解析器ViewResolver进行视图解析,根据逻辑视图解析成真正的视图(jsp)
第九步:视图解析器向前端控制器返回view
第十步:前端控制器进行视图渲染,视图渲染将模型数据(ModelAndView)填充到request域
第十一步:前端控制器响应用户结果
图解: