springmvc中的常用注解
时间: 2024-01-16 16:16:37 浏览: 73
Spring MVC的常用注解
Spring MVC中有很多常用的注解,以下是其中一些常用的注解及其作用:
1. @Controller:用于标记一个类,表示这个类是Spring MVC中的Controller对象。
2. @RequestMapping:用于标记一个方法或类,表示请求的URL路径。可以用于类级别和方法级别,用于类级别时,表示该类下所有方法的请求路径的前缀。
3. @PathVariable:用于获取请求路径中的参数值,例如@RequestMapping("/user/{id}"),则@PathVariable("id")可以获取到{id}的值。
4. @RequestParam:用于获取请求参数的值,例如@RequestParam("name") String name可以获取到请求参数中名为name的值。
5. @ResponseBody:用于将方法的返回值直接写入HTTP响应体中,常用于返回JSON数据。
6. @RequestBody:用于将HTTP请求体中的JSON数据绑定到方法的参数上。
7. @ModelAttribute:用于将请求参数绑定到一个JavaBean对象上。
8. @Valid:用于验证JavaBean对象的数据有效性。
9. @SessionAttributes:用于将模型数据存储到会话中,以便多个请求之间共享数据。
10. @ExceptionHandler:用于处理Controller中的异常。
以下是一个使用了部分常用注解的示例代码:
```java
@Controller
@RequestMapping("/user")
@SessionAttributes("user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/{id}")
@ResponseBody
public User getUserById(@PathVariable("id") Long id) {
return userService.getUserById(id);
}
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String addUser(@ModelAttribute("user") @Valid User user, BindingResult result) {
if (result.hasErrors()) {
return "error";
}
userService.addUser(user);
return "success";
}
@ExceptionHandler(Exception.class)
@ResponseBody
public String handleException(Exception e) {
return "Error: " + e.getMessage();
}
}
```
阅读全文