SpringMVC 常用注解
原创SpringMVC 常用注解
SpringMVC 是一种基于 Java 的 Web MVC 框架,用于构建企业级应用。在使用 SpringMVC 开发项目时,注解是非常重要的一个部分,它们帮助我们简化配置、实现功能以及减成本时间开发效能。下面将介绍一些 SpringMVC 中常用的注解。
1. @Controller
@Controller
public class MyController {
// 方法体
}
@Controller
注解用于标识一个类作为 SpringMVC 的控制器组件。被注解的类会被 Spring 容器扫描并注册为 Bean。
2. @RequestMapping
@RequestMapping(value = "/index", method = RequestMethod.GET)
public String index() {
return "index";
}
@RequestMapping
注解用于将 HTTP 请求映射到 MVC 和 REST Web 服务中的控制器处理方法上。它可以指定请求的类型(如 GET、POST 等)以及请求的 URL。
3. @RequestParam
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String hello(@RequestParam("name") String name) {
return "Hello, " + name;
}
@RequestParam
注解用于将请求参数区数据映射到功能处理方法的参数上。
4. @PathVariable
@RequestMapping(value = "/user/{id}", method = RequestMethod.GET)
public String getUser(@PathVariable("id") int id) {
return "User ID: " + id;
}
@PathVariable
注解用于将 URI 模板中的变量映射到功能处理方法的参数上。
5. @RequestBody
@RequestMapping(value = "/body", method = RequestMethod.POST)
public String body(@RequestBody String body) {
return "Received body: " + body;
}
@RequestBody
注解用于将 HTTP 请求正文映射到功能处理方法的参数上。
6. @ResponseBody
@RequestMapping(value = "/json", method = RequestMethod.GET)
@ResponseBody
public User json() {
User user = new User();
user.setName("John");
user.setAge(30);
return user;
}
@ResponseBody
注解用于将返回的对象作为 HTTP 响应正文返回,通常用于返回 JSON 或 XML 数据。
7. @ModelAttribute
@ModelAttribute
public void getUser(@RequestParam(value = "id", required = false) Integer id, Model model) {
if (id != null) {
User user = userService.getUserById(id);
model.addAttribute("user", user);
}
}
@ModelAttribute
注解用于将方法参数或方法返回值绑定到 Model 对象上。
8. @SessionAttributes
@Controller
@SessionAttributes("user")
public class UserController {
// 方法体
}
@SessionAttributes
注解用于指定一个或多个模型属性保存在 HTTP 会话中。
9. @InitBinder
@Controller
public class MyController {
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.registerCustomEditor(String.class, new StringTrimmerEditor(true));
}
}
@InitBinder
注解用于初始化数据绑定器,通常用于注册自定义编辑器。
总结
以上是 SpringMVC 中常用的注解,了解和熟练使用这些注解可以让我们更加高效地开发基于 SpringMVC 的 Web 应用程序。