官⽅对于 Spring MVC 的描述是这样的:
MVC 是⼀种架构设计模式, 也⼀种思想, ⽽ Spring MVC 是对 MVC 思想的具体实现.
SpringMVC还是⼀个Web框架.
总结来说,Spring MVC 是⼀个实现了 MVC 模式的 Web 框架.
Spring web 和SpringBoot的关系
Spring Boot 可以添加很多依赖, 借助这些依赖实现不同的功能. Spring Boot 通过添加Spring Web MVC框架, 来实现web功能.Spring在实现MVC时, 也结合⾃⾝项⽬的特点, 做了⼀些改变, 相对⽽⾔, 下⾯这个图或许更加合适⼀些.
主要学习的方面
建⽴连接:将⽤⼾(浏览器)和 Java 程序连接起来,也就是访问⼀个地址能够调⽤到我们的 Spring 程序。请求: ⽤⼾请求的时候会带⼀些参数,在程序中要想办法获取到参数, 所以请求这块主要是 获取参数的功能.响应: 执⾏了业务逻辑之后,要把程序执⾏的结果返回给⽤⼾, 也就是响应. 2.1 建立连接 @RequestMapping 来实现 URL 路由映射@RestController 指定 Spring 需要扫描的类, 只有被@RestController 修饰的类, Spring 才会在该类中找到对应的 @RequestMapping 修饰的方法@RequestMapping 即可修饰类,也可以修饰⽅法当修饰类和⽅法时,访问的地址是类路径 + ⽅法路径@RequestMapping 支持各种请求方法 2.2 请求Spring MVC 会根据⽅法的参数名, 找到对应的参数, 赋值给⽅法; 所以请求参数的方法参数只要匹配, 就可以得到对应的值
方法的参数都使用对象来接受, 基本类型使用包装类
传递对象: Spring MVC 会自动解析并进行赋值; 被赋值的对象需要提供getter和setter方法
后端对前端传来的参数名进行重命名
@RequestParamSpring MVC 可以⾃动绑定数组参数的赋值
传递集合
默认情况下,请求中参数名相同的多个值,是封装到数组. 如果要封装到集合,要使⽤@RequestParam绑定参数关系传递 json
接收JSON对象, 需要使⽤ @RequestBody 注解获取URL中参数 @PathVariable
上传⽂件@RequestPart
获取Cookie/Session
使用 Servlet 中的接口注解: @CookieValue通过Spring MVC内置对象HttpSession 来获取获取Header
@RequestHeader 2.3 响应@RestController 和 @Controller的联系和区别
@RestController = @Controller + @ResponseBody@Controller : 定义⼀个控制器, Spring 框架启动时加载, 把这个对象交给Spring管理.@ResponseBody : 定义返回的数据格式为⾮视图, 返回⼀个 text/html 信息所以@RestController返回的是 text/html , 而@Controller返回的是静态页面返回 JSON 数据
后端⽅法返回结果为对象 3. 相关代码链接代码获取连接