01_SpringMVC介绍

SpringMVC介绍

欢迎关注公众号“小东方不败”

0x01_SpringMVC技术的地位

学习完Spring框架和Spring框架中最为重要的两个技术点(IOC和AOP),那如何更好的构建上层的应用呢(比如web 应用),这便是SpringMVCSpring MVCSpringSpring Container CoreAOP等技术基础上,遵循上述Web MVC的规范推出的web开发框架,目的是为了简化Java栈的web开发。

回到Spring的架构图:

image-20221106153130262

SpringMVC对应的就是右上角的Web部分。

往往学习的顺序是:

  • Core Container(IOC控制反转,DI依赖注入)
  • AOP(面向切面编程)
  • Data Source/Integration:JdbcTemplate,mybatis,Spring声明式事务
  • Web:SpringMVC

0x02_SpringMVC的介绍

Spring MVC 是一个 Java 框架,用于构建 Web 应用程序。它遵循模型-视图-控制器设计模式。它实现了核心 Spring 框架的所有基本功能,例如控制反转、依赖注入。

Spring MVC 在DispatcherServlet的帮助下提供了一个优雅的解决方案,可以在 Spring 框架中使用 MVC 。在这里,DispatcherServlet是一个类,它接收传入的请求并将其映射到正确的资源,例如控制器、模型和视图。

image-20221106153542180

  • Model模型- 模型包含应用程序的数据。数据可以是单个对象或对象的集合。(Dao,pojo实体类)
  • Controller控制器- 控制器包含应用程序的业务逻辑。在这里,@Controller 注解用于将类标记为控制器。(在没有学习springMVC时,用Servlet来完成)
  • View视图- 视图以特定格式表示提供的信息。一般使用JSP+JSTL来创建视图页面。尽管 spring 还支持其他视图技术,例如 Apache Velocity、Thymeleaf 和 FreeMarker。
  • 前端控制器- 在 Spring Web MVC 中,DispatcherServlet 类用作前端控制器。它负责管理 Spring MVC 应用程序的流程。

0x03_SpringMVC流程图

image-20221106153846295

  • 如图所示,所有传入的请求都被作为前端控制器的 DispatcherServlet 拦截。
  • DispatcherServlet 从 XML 文件中获取处理程序映射的条目并将请求转发给控制器。
  • 控制器返回一个 ModelAndView 对象。
  • DispatcherServlet 检查 XML 文件中视图解析器的条目并调用指定的视图组件。

0x04_SpringMVC的有优点

  • 分离角色(解耦)——Spring MVC 分离每个角色,其中模型对象、控制器、命令对象、视图解析器、DispatcherServlet、验证器等可以由专门的对象来实现。
  • 轻量级- 它使用轻量级 servlet 容器来开发和部署您的应用程序。
  • 强大的配置- 它为框架和应用程序类提供了强大的配置,包括跨上下文的轻松引用,例如从 Web 控制器到业务对象和验证器。
  • 快速开发——Spring MVC 促进了快速和并行的开发。
  • 可重用的业务代码——它允许我们使用现有的业务对象,而不是创建新的对象。
  • 易于测试- 在 Spring 中,通常我们创建 JavaBeans 类,使您能够使用 setter 方法注入测试数据。
  • 灵活的映射- 它提供了可以轻松重定向页面的特定注释。

0x05_总结

  • SpringMVC是spring为展现层提供的基于MVC设计理念的优秀WEB框架,是目前最主流的MVC框架之一
  • SpringMVC通过一套注解,可以让普通的JAVA类成为contrllor控制器,无需继承Servlet,实现了控制层和Servlet之间的解耦
  • SpringMVC支持Rest风格的URL写法
  • SpringMVC采用了松耦合,可热插的主键结构,比其他的框架更具扩展性和灵活性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值