SpringMVC 中的常用注解和用法
SpringMVC 中的常用注解
1、Controller注解的使用
@Contorller标记该类是一个控制器,Spring通过扫描机制找到标注了该注解的控制器,交给Spring容器管理
2、RequestMapping注解的使用
用来实现URL路由映射,路由映射: 当用户访问⼀个 URL 时, 将用户的请求对应到程序中某个类的某个方法的过程就叫路由映射
- 即可修饰类,也可以修饰⽅法 ,当修饰类和⽅法时,访问的地址是类路径 + ⽅
法路径. - 属性
- value 或 path:指定请求的URL路径
- method:指定处理请求的HTTP方法
- params:指定请求参数的条件限制
@RequestMapping("/user")
@RestController
public class UserController {
@RequestMapping(value ="/say", method= RequestMethod.POST)
public String sayHi(){
return "hello,Spring MVC";
}
}
访问地址http://localhost:8080/user/say,可以访问该方法
3、RequestParam注解的使用
当前后端传递的参数不同,可以使用 @RequestParam 来重命名前后端的参数值
- 修饰于方法参数前
- 使用注解的参数进行重命名,参数请求只能是于RequestParam声明的参数进行赋值,
- 使用注解的参数变成必传参数
- 属性
- name(请求行的参数名)
- required(该参数是否是必填项)
@RequestMapping("/m4") //参数createtime重命名为time,参数createtime变成⾮必传的参数 public Object method4(@RequestParam(value = "time", required = false) String createtime){ return "接收到参数createtime:" + createtime; }
4、RequestBody注解的使用
注解用于将 HTTP 请求的内容绑定到方法的参数上,方便在 Spring 控制器中处理请求体的数据
- 当客户端发送一个包含用户信息的 JSON 请求体时,Spring 框架会自动将该 JSON 数据转换为 Person 对象
@RequestMapping(value = "/person")
public Object createPerson (@RequestBody Person person) {return person.toString();}
5、PathVariable注解的使用
请求URL路径上的数据绑定
- 如果⽅法参数名称和需要绑定的URL中的变量名称不⼀致时, 需要@PathVariable的属性value赋值
@RequestMapping("/m8/{id}/{name}")
public String method8(@PathVariable Integer id, @PathVariable("name") String userName){
return "解析参数id:"+id+",name:"+userName;
}
6、ResponseBody注解的使用
java对象转为json格式的相应内容
- 即可修饰类,也可以修饰⽅法,如果作⽤在类上, 表⽰该类的所有⽅法, 返回的都是数据, 如果作⽤在⽅法上, 表⽰该⽅法返回的是数据
@Controller
//未被@ResponseBody修饰,返回页面
public class IndexController {
@RequestMapping("/index")
public Object index(){
return "/index.html";
}
@RequestMapping("/returnData")
@ResponseBody
//被@ResponseBody修饰,返回数据
public String returnData(){
return "该⽅法返回数据";
}
}