栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring Boot(三) MVC

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring Boot(三) MVC

1、Spring MVC简介

        Spring Boot由于内嵌Tomcat、Jetty 或者 Undertow,因此非常适合开发web应用程序。大多数web应用程序可以使用spring-boot-starter-web模块来快速搭建和运行,也可以选择使用spring-boot-starter-webflux模块来构建响应式(reactive) web 应用程序。Spring MVC让我们创建一个注解有@Controller或@RestController的bean来处理http请求,controller中的方法通过@RequestMapping注解映射到http。

2、整合MVC  1、POM文件

将spring-boot-starter依赖改为spring-boot-starter-web

        
            org.springframework.boot
            spring-boot-starter-web
        
2、YAML文件
server:
  port: 8082                #端口 默认8080
  servlet:
    context-path: /shinb    #路径 默认/
 3、代码
@RestController
@RequestMapping("/person")
public class MvcController {

    @Autowired
    private Person person;

    @GetMapping("/info")
    public Person getPerson(@RequestParam String name){
        person.setName(name);
        return person;
    }
}

person类见上期

4、测试
curl http://localhost:8082/shinb/person/info?name=shiningbo
{
    "name":"shiningbo",
    "age":20,
    "married":true,
    "birth":"2021-10-09T16:00:00.000+00:00",
    "maps":{
        "k1":"v1",
        "k2":12
    },
    "lists":[
        "lisi",
        "zhaoliu"
    ],
    "dog":{
        "name":"灏忕嫍",
        "age":8
    }
}
3、MVC注解 1、@RestController

        这段代码使用了Spring@RestController注释,它将类标记为一个控制器,其中每个方法返回一个域对象而不是视图。它是同时包含@Controller和@ResponseBody的简写。

@RestController是一个组合注释,它本身带有@Controller和@ResponseBody的元注释,用来指示一个控制器,该控制器的每个方法都继承了类型级的@ResponseBody注释,因此可以直接写入响应正文,而不是使用HTML模板进行视图解析和渲染。--官网解释

即:如果有注解@ResponseBody则将方法返回值通过HttpMessageConverters转换成特定格式写入response的body;如果没有则将方法返回值通过视图解析器封装为ModelAndView对象

2、 @GetMapping

        这段代码使用的@GetMapping注解确保对/info的HTTP GET请求被映射到getPerson()方法。

其他HTTP动作也有相应的注解(例如POST的@PostMapping);

还有一个@RequestMapping注释,它们都是从这个注释派生出来的,并且可以作为同义词(例如@RequestMapping(method=GET))。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/490039.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号