2022.03.19

前言:

在我们开发过程中,Java框架显得尤为重要,在学习JavaSSM框架学习中,Spring、SpringMVC、MyBatis的进行主要都需要运用maven的依赖管理去进行,不然就需要再自行导入依赖文件,同时也不好进行管理,所以本次的学习主要围绕maven进行。

Spring:

Spring是一个开源的框架,是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。他的核心主要就是控制反转,利用Spring来进行创建管理

SpringMVC:

Controller(控制层)、Model(模型层)、View(视图层)

Controller 接受到客户端请求,调用 Model 相关代码完成业务逻辑操作,获取业务数据并返回给 ControllerController 再结合 View 完成业务数据的视图层渲染,并将结果响应给客户端,如下图所示。

 

 核心组件

(1)DispatcherServlet:前端控制器,负责调度其他组件的执行,可降低不同组件之间的耦合性,是整个 Spring MVC 的核心模块。

(2)Handler:处理器,完成具体业务逻辑,相当于 Servlet 或 Action。

(3)HandlerMapping:DispatcherServlet 是通过 HandlerMapping 将请求映射到不同的 Handler。

(4)HandlerInterceptor:处理器拦截器,是一个接口,如果我们需要做一些拦截处理,可以来实现这个接口。

(5)HandlerExecutionChain:处理器执行链,包括两部分内容,即 Handler 和 HandlerInterceptor(系统会有一个默认的 HandlerInterceptor,如果需要额外拦截处理,可以添加拦截器设置)。

(6)HandlerAdapter:处理器适配器,Handler 执行业务方法之前,需要进行一系列的操作包括表单数据的验证、数据类型的转换、将表单数据封装到 POJO 等,这一系列的操作,都是由 HandlerAdapter 来完成,DispatcherServlet 通过 HandlerAdapter 执行不同的 Handler。

(7)ModelAndView:装载了模型数据和视图信息,作为 Handler 的处理结果,返回给 DispatcherServlet。

(8)ViewResolver:视图解析器,DispatcherServlet 通过它将逻辑视图解析成物理视图,最终将渲染结果响应给客户端。

以上就是 Spring MVC 的核心组件,那么这些组件之间是如何进行交互的呢?

工作流程

(1)客户端请求被 DispatcherServlet(前端控制器)接收。

(2)根据 Handler Mapping 映射到 Handler。

(3)生成 Handler 和 HandlerInterceptor(如果有则生成)。

(4)Handler 和 HandlerInterceptor 以 HandlerExecutionChain 的形式一并返回给 DispatcherServlet。

(5)DispatcherServlet 通过 HandlerAdapter 调用 Handler 的方法做业务逻辑处理。

(6)返回一个 ModelAndView 对象给 DispatcherServlet。

(7)DispatcherServlet 将获取的 ModelAndView 对象传给 ViewResolver 视图解析器,将逻辑视图解析成物理视图 View。

(8)ViewResolver 返回一个 View 给 DispatcherServlet。

(9)DispatcherServlet 根据 View 进行视图渲染(将模型数据填充到视图中)。

(10)DispatcherServlet 将渲染后的视图响应给客户端。

mybatis:

mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,使得sql的管理更加简易。

总结:

        这次的学习让我更加深刻的认识到了框架的结构,虽然xml的配置有些麻烦,还有很多的底层原理不理解,只知道需要使用他,而不知到为何要去使用它,所以在接下来的学习实践中,不仅要专注与实践会用,还要去了解接触它。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Array_new

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值