Spring 框架基础(06):Mvc架构模式简介,执行流程详解 (2)

主要用于在SpringMvc框架的控制层获取参数,三个常用参数:defaultValue表示设置默认值,required 通过boolean设置是否是必须要传入的参数,value值表示传入的参数名称。

@RequestBody

接收请求体中传递给后端的Json字符串数据的,GET方式无请求体,所以使用@RequestBody接收数据时,不能使用GET方式提交数据,需要用POST方式进行提交。

@ResponseBody

该注解用于方法的返回对象,可以通过配置转换器为指定数据响应格式,如果希望返回的数据不是View试图页面,而是指定数据格式的时候使用,例如:Json、Xml等。

@Autowired

按照类型(byType)装配依赖对象,默认情况下它要求依赖对象必须存在,如果允许null值,可以设置它的required属性为false。如果想使用按照名称(byName)来装配,可以结合@Qualifier注解一起使用。

@Resource

按照ByName自动注入,需要导入包javax.annotation.Resource。@Resource有两个重要的属性:name和type,而Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。

@PathVariable

用于将请求URL中的模板变量映射到功能处理方法的参数上,即取出uri模板中的变量作为参数。

四、常见参数映射 1、普通映射 @RequestMapping("/getSum") public Integer getSum (int a,int b){ return a+b ; }

测试:

:6003/getSum?a=1&b=2

传参名称和方法参数保持一致。

2、指定参数名 @RequestMapping("/getInfo") public String getInfo (@RequestParam("name") String var1, @RequestParam("say") String var2){ return var1+":"+var2 ; }

测试:

:6003/getInfo?name=cica&say=hello

传参名和 @RequestParam 指定的参数名要对应。

3、数组参数 @GetMapping("/getArray") public String getArray (String[] ids){ return ids[0]+"-"+ids[1] ; }

测试:

:6003/getArray?ids=2&ids=3

传递并解析数组类型的参数格式。

4、Map参数 @RequestMapping("/getMap") public String getMap (@RequestParam Map<String,String> paramMap){ return paramMap.get("name") ; }

测试:

:6003/getCityEntity?province=浙江&name=杭州

这里以Post方式将相关参数传递CityEntity实体对象中。

5、包装参数 @PostMapping("/getCityEntity") public CityEntity getCityEntity (CityEntity cityEntity){ return cityEntity ; }

测试:

:6003/getCityEntity?province=浙江&name=杭州

这里以Post方式将相关参数传递CityEntity实体对象中。

6、Rest风格参数 @GetMapping("/getId/{id}") public String getId (@PathVariable("id") Integer id){ return "id="+id ; }

测试:

:6003/getId/1

RestFul 风格参数映射。

五、源代码地址 GitHub·地址 https://github.com/cicadasmile/spring-mvc-parent GitEE·地址 https://gitee.com/cicadasmile/spring-mvc-parent

Spring 框架基础(06):Mvc架构模式简介,执行流程详解

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpfwds.html