Spring Boot入门|第五篇:探索Spring Boot下的Spring MVC

152 阅读4分钟

这是我参与8月更文挑战的第5天,活动详情查看: 8月更文挑战

✔上一篇Spring Boot系列文章 我们说到了 Spring Boot 事务支持,今天来说说# Spring Boot下的Spring MVC

Spring Boot就是一个大框架包含了许许多多的东西,其中Spring就是最核心的内容之一,当然就包含SpringMVC。

SpringMVC是Spring处理web层请求的一个模块,因此他们的关系大概就是这样:SpringMVC < Spring <Spring Boot。

SpringBoot与SpringMVC的关系

Spring 框架就像一个家族,有众多衍生产品,例如 boot、security、jpa等等,但他们的基础都是Spring 的 ioc和 aop ioc 提供了依赖注入的容器 aop ,解决了面向横切面的编程,然后在此两者的基础上实现了其他延伸产品的高级功能。

Spring MVC是基于 Servlet 的一个MVC框架,主要解决WEB开发的问题,因为Spring的配置非常复杂,各种XML、JavaConfig、hin处理起来比较繁琐。于是为了简化开发者的使用,从而创造性地推出了Spring boot,约定优于配置,简化了spring的配置流程。

说得更简便一些:

Spring 最初利用“工厂模式”(DI)和“代理模式”(AOP)解耦应用组件。

大家觉得挺好用,于是按照这种模式搞了一个MVC框架(一些用Spring解耦的组件),用开发web应用(SpringMVC)。然后又发现每次开发都写很多样板代码,为了简化工作流程,于是开发出了一些“懒人整合包”,这套就是 Spring Boot。

Spring MVC的功能提供了一种轻度耦合的方式来开发web应用,Spring MVC是Spring的一个模块,一个web框架。通过Dispatcher Servlet, ModelAnd View和View Resolver,开发web应用变得很容易。解决的问题领域是网站应用程序或者服务开发——URL路由、Session、模板引擎、静态Web资源等等。

Spring Boot的功能Spring Boot实现了自动配置,降低了项目搭建的复杂度。众所周知,Spring框架需要进行大量的配置,Spring Boot引入自动配置的概念,让项目设置变得很容易。

Spring Boot本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。

所以,简单概括就是:

  • Spring 是一个“引擎”;

  • Spring MVC 是基于Spring的一个 MVC 框架 ;

  • Spring Boot 是基于Spring4的条件注册的一套快速开发整合包。

Spring Boot 下的 Spring MVC 和之前的 Spring MVC 使用是完全一样的,主要有以下注解:

1、@Controller

Spring MVC 的注解,处理 http 请求

2、@RestController

Spring 4 后新增注解,是@Controller注解功能的增强是@Controller@ResponseBody的组合注解

如果一个 Controller 类添加了@RestController,那么该 Controller 类下的所有方法都相当于添加了@ResponseBody 注解

用于返回字符串或 json 数据

案例:

➢ 创建 MyRestController 类,演示@RestController 替代@Controller + @ResponseBody

➢ 启动应用,浏览器访问测试

3、@RequestMapping(常用)

支持 Get 请求,也支持 Post 请求

4、@GetMapping

RequestMapping 和 Get 请求方法的组合

只支持 Get 请求

Get 请求主要用于查询操作

5、@PostMapping

RequestMapping 和 Post 请求方法的组合

只支持 Post 请求

Post 请求主要用户新增数据

6、@PutMapping

RequestMapping 和 Put 请求方法的组合

只支持 Put 请求

Put 通常用于修改数据

7、@DeleteMapping

RequestMapping 和 Delete 请求方法的组合

只支持 Delete 请求

通常用于删除数据

8、综合案例

项目名称:013-springboot-springmvc 项目集成 springmvc

项目作用:演示常见的 SpringMVC 注解

1)创建一个 MVCController,里面使用上面介绍的各种注解接收不同的请求

2)启动应用,在浏览器中输入不同的请求进行测试

3)Http 接口请求工具 Postman 介绍

因为通过浏览器输入地址,默认发送的只能是 get 请求,通过 Postman 工具,可以模拟发送不同类型的请求,并查询结果,在安装的时候,有些机器可能会需要安装 MicroSort NETFramework

4)使用 Postman 对其它请求类型做个测试