基于注解的 SpringMVC

SpringMVC

  • SpringMVC
    • 使用SpringMVC的两个配置@EnableWebMVC 和 ACWAC
    • SpringMVC执行流程
    • 接收请求参数
      • Postman 发包工具()
      • get 请求---简单类型数据(基本数据类型和String)
      • get 请求---对象类型数据
      • get 请求---数组类型
      • get 请求 --- 集合类型 @RequestParam
      • get 请求 --- 日期类型 @DateTimeFormat
      • post 请求 --- 请求体类型 @RequestBody
      • 请求---路径参数 @Pathvariable
      • @RequestParam的三个应用场景
      • 总结
  • 全局异常处理器
    • 两个注解 @RestControllerAdvice 和 @ ExceptionHandler
  • Restful 风格
    • Restful四种方式(注解)
  • 注解总结(十四)

SpringMVC

介绍:
SpringMVC将Servlet一些通用功能进行了抽取和封装,使用它之后,代码主要有两部分组成:
前端控制器:由SpringMVC提供,主要负责接收参数和返回数据(在进入控制层之前的位置 会先经过前端控制器 再 到 控制层 返回数据时在控制层之后)
处理器:由程序员编写,主要负责参数的处理和业务层调用,可以理解为自己所写的业务逻辑代码
还有视图解析器等,视图解析器可以搭配JSP使用,但是现在不用JSP,也不用表单提交,就不对视图解析器做过多解释
基于注解的 SpringMVC_第1张图片

使用SpringMVC的两个配置@EnableWebMVC 和 ACWAC

需要在这个config包下添加SpringMVC的初始化类和在配置类(有@Component修饰的类)中添加 @EnableWebMVC注解 加载SpringMVC,在初始化类中继承ADSI父类重写3个方法,可以创建SpringMVC容器 配置要处理请求的路径 创建Spring容器
基于注解的 SpringMVC_第2张图片
基于注解的 SpringMVC_第3张图片

SpringMVC执行流程

@RequestMapping注解的作用是接收前端请求,有两个重要的属性 value 和 method
@RsponseBody注解的作用是声明返回前端的数据为Json类型
@Controller 和 @RsponseBody 可以进行合并 @RestController 用在类上表明类中的所有方法均返回前端json格式的数据
基于注解的 SpringMVC_第4张图片
基于注解的 SpringMVC_第5张图片
基于注解的 SpringMVC_第6张图片

接收请求参数

Postman 发包工具()

这里介绍一个小工具Postman 可以发送 get post put delete 请求 ,模拟前端请求,
可以携带参数或请求体,这样救不用写表单来进行测试了

get 请求—简单类型数据(基本数据类型和String)

基于注解的 SpringMVC_第7张图片

get 请求—对象类型数据

基于注解的 SpringMVC_第8张图片

get 请求—数组类型

基于注解的 SpringMVC_第9张图片

get 请求 — 集合类型 @RequestParam

基于注解的 SpringMVC_第10张图片

get 请求 — 日期类型 @DateTimeFormat

基于注解的 SpringMVC_第11张图片

post 请求 — 请求体类型 @RequestBody

基于注解的 SpringMVC_第12张图片

请求—路径参数 @Pathvariable

基于注解的 SpringMVC_第13张图片

@RequestParam的三个应用场景

基于注解的 SpringMVC_第14张图片
应该也可以给集合起别名(参考Mybatis中 的@Param注解猜想)

总结

基于注解的 SpringMVC_第15张图片
@RequestMapping 如果不指定method属性 默认接收所有请求类型

全局异常处理器

就是在controller层之前不进行异常的处理,所有的异常都会向上层抛出,直到抛到控制层为止,全局异常处理器会对控制层中的异常进行处理,

两个注解 @RestControllerAdvice 和 @ ExceptionHandler

@RestControllerAdvice 标注在上,声明当前类是一个用于专门处理异常的类
@ExceptionHandler 标注在方法上,声明当前方法可以处理哪些异常
基于注解的 SpringMVC_第16张图片

Restful 风格

Restful风格是一种通过请求方式和请求路径确定方法的方式,避免了一些请求方法的暴露,提高了安全性和简洁性

REST是一种软件架构风格,其强调HTTP应当以资源为中心[在请求地址中尽量的不要出现动词]。
REST使用不同的请求方式表示不同的操作操作: GET(获取)、POST(新建)、PUT(更新)、DELETE(删除)
基于注解的 SpringMVC_第17张图片

Restful四种方式(注解)

@GetMapping 相当于@RequestMapping( method = RequestMethod.GET) 常用与查询请求 可以与路径参数方式搭配使用
@PostMapping
@PutMapping
@DeleteMapping

ps:get 方式 和 delete 方式 不能携带请求体 要想获取必须通过将数据作为参数的形式传到后端
路径参数也可以传递数组形式的参数 接收不定长的数组的时候前端可以通过集合接收

注解总结(十四)

@EnableWebMVC
@RequestMapping
@Resonpse
@RestController
@RequestParam
@DateTimeFormat
@RequestBody
@Pathvariable
@RestControllerAdvice
@ ExceptionHandler
@GetMapping
@PostMapping
@PutMapping
@DeleteMapping

你可能感兴趣的:(SpringMVC,Spring)