资深架构师手把手带你学Spring MVC

点关注,不迷路!如果本文对你有帮助的话不要忘记点赞支持哦!

一、Spring MVC概述

1.MVC:Model + View + Controller(数据模型 + 视图 + 控制器)

2.三层架构:Presentation tier + Application tier + Data tier(展示层 + 应用层 + 数据访问层)

3.MVC和三层架构的关系,MVC只存在三层架构的展示层。

M实际是数据模型,是包含数据的对象。在Spring MVC里,有一个专门的类叫Model,用来和V之间的数据交互、传值。

V指的是视图界面,包含JSP、freeMarker、Velocity、Thymeleaf、Tile等。

C就是控制器(Spring MVC的注解@Controller的类)。

三层架构是整个应用的的架构,是由Spring框架负责管理的,一般项目结构中都由Service层、Dao层,这两个反馈在应用层和数据访问层。

二、Spring MVC项目快速搭建

资深架构师手把手带你学Spring MVC

三、Spring MVC的常用注解

1.@Controller

@Controller注解在上,表明这个类是Spring MVC里的Controller,将其声明为Spring的一个Bean,Dispatcher Servlet会自动扫描注解了此注解的类(原理类似AOP),并将Web请求映射到注解了@RequestMapping的方法上。

2.@RequestMapping

@RequestMapping注解是用来映射Web请求(访问路径和参数)、处理类和方法的。

@RequestMapping可以注解在类或方法上。注解在方法上的@RequestMapping路径会继承注解在类上的路径,@RequestMapping支持Servlet的request和response作为参数,也支持对request和response的媒体类型进行配置。

3.@ResponseBody

@ResponseBody支持将返回值放在response体内,而不是返回一个页面。此注解可放置在返回值前或者方法上

4.@RequestBody

@RequestBody允许request的参数在request体中,而不是在直接链接在地址后面。此注解放置在参数前

5.@PathVariable

@PathVariable用来接收路径参数,如/mfq/001,可接收001作为参数,此注解放置在参数前

6.@RestController

@RestController是一个组合注解,组合了@Controller和ResponseBody。

资深架构师手把手带你学Spring MVC

四、Spring MVC基本配置

1.静态资源映射、拦截器配置

资深架构师手把手带你学Spring MVC

2.@ControllerAdvice

通过@ControllerAdvice,可以将对于控制器的全局配置放置在同一个位置,注解了@Controller的类的方法可以使用@ExceptionHandler、@InitBinder、@ModelAttribute注解到方法上,对所有注解了@RequestMapping的控制器内的方法有效。

1)@ExceptionHandler:用于全局处理控制器里的异常。

2)@InitBinder:用来设置WebDataBinder,WebDataBinder用来自动绑定前台请求参数到Model中。

3)@ModelAttribute:本来的作用是绑定键值对到Model里,此处是让全局的@RequestMapping都能获得在此处设置的键值对。

资深架构师手把手带你学Spring MVC

3.其它配置

1)快捷的ViewController

资深架构师手把手带你学Spring MVC

2)路径匹配参数配置

资深架构师手把手带你学Spring MVC

3)更多配置

查看WebMvcConfigurerAdapter、WebMvcConfigurer类的API

所使用的pom.xml

资深架构师手把手带你学Spring MVC

资深架构师手把手带你学Spring MVC

资深架构师手把手带你学Spring MVC

到此这篇关于文章就结束了!
 

点关注,不迷路!如果本文对你有帮助的话不要忘记点赞支持哦!

资深架构师手把手带你学Spring MVC

上述面试题答案都整理成文档笔记。 也还整理了一些面试资料&最新2020收集的一些大厂的面试真题(都整理成文档,小部分截图),有需要的可以 点击进入暗号:csdn 。

希望对大家有所帮助,有用的话点赞给我支持!

资深架构师手把手带你学Spring MVC

 

本文由 @龙岩 发布于 职涯宝 ,未经作者许可,禁止转载,欢迎您分享文章

发表评论

登录后才能评论
小程序
小程序
微信客服
微信客服
QQ客服 建站服务
分享本页
返回顶部