SpringMVC 框架 组件细节 原理
2020-05-04 16:01:52来源:博客园 阅读 ()
SpringMVC 框架 组件细节 原理
Spring Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。 Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地new
一个对象,而是让Spring框架帮你来完成这一切。
SpringMVC SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。 mybatis mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。 [1]
1 Springmvc 框架原理
-
springmvc 是 spring 框架的一个模块, SpringMVC 和 spring 无需通过中间整合层进行整合
-
SpringMVC 是一个基于mvc 的 web 框架
步骤
-
发起请求到前端控制器 (DispatcherServlet)
-
前端控制器请求 HandlerMapping 查找 Handler
-
可以根据 xml 配置,注解进行查找
-
处理器 映射器 HandlerMapping 向前端控制器返回 Handler
-
前端控制器调用处理器适配器去执行 Handler
-
处理器适配器去执行 Handler
-
Handler 执行完给适配器返回 ModelAndView
-
处理器适配器向前端控制器返回 ModelAndView
-
ModelAndView 是 SpringMVC 框架的一个底层对象 ,包括 View 和 Model
-
前端控制器请求视图解析器去进行视图解析
-
根据逻辑视图名解析成真正的视图(jsp)
-
视图解析器向前端控制器返回 View
-
前端控制器进行视图渲染
-
视图渲染将模型数据 (在 ModelAndView 对象中) 填充到 request 域
-
前端控制器向用户响应结果
组件:
-
前端控制器 DispatcherServlet (不需要程序开发)
-
作用 : 接受请求 , 相应结果 相当于转发器 , 中央处理器
-
有了 DispatcherServlet 减少了其他组件之间的耦合度
-
-
处理器映射器 HandlerMapping (不需要程序员开发)
-
作用 : 根据请求的 url 查找 Handler
-
处理器 Handler (需要程序员开发)
-
-
处理器适配器 HandlerAdapter
-
作用 : 按照特定规则 (HandlerAdapter 要求的规则 )去执行 Handler
-
注意 : 编写 Handler 时按照 HandlerAdapter 的要求去做, 这样适配器才可以去正确执行 Handler
-
-
视图解析器 View resolver (不需要程序员开发)
-
作用 : 进行视图解析, 根据逻辑视图名解析成真正的视图 (View)
-
-
视图 View (需要程序员来开发 jsp )
-
-
原文链接:https://www.cnblogs.com/lszbk/p/12827746.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇: Spring 简介
- Java--反射(框架设计的灵魂)案例 2020-06-11
- springboot2配置JavaMelody与springMVC配置JavaMelody 2020-06-11
- Java--反射(框架设计的灵魂) 2020-06-11
- 与JAVA集合相遇 2020-06-11
- Java框架之Hibernate实战篇 2020-06-09
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash