SpringMVC常用注解
分享几个SpingMVC常用注解(注解的本质是一类继承了Annotation的特殊接口)
@SpringBootConfiguration等同于@Configuration,相当于声明SpringBoot启动类
@EnableAutoConfiguration开启自动配置功能
@ComponentScan默认装配
- @Component
- @Repository
- @Service
- @Controller
- @Configuration
将上述注解装配到容器中
@Controller是处理请求业务逻辑的组件,这个组件会被Spring识别为可以接受并处理网页请求的组件。@Controller注解继承了Spring的@Component注解,会把对应的类声明为Spring对应的Bean,并且可以被Web组件管理。
@RestController注解是@Controller和@ResponseBody的组合
@ResponseBody表示函数的返回不需要渲染为View,应该直接作为Response的内容写回客户端。
@RequestMapping表示映射关系,Spring容器会识别注解并将满足路径条件的请求分配到对应的方法进行处理。
@RequestBody定义请求实体参数,将请求实体中的JSON对象绑定到相应的bean上,一般与@RequestParam()配合使用,方法中@equestBody只能有一个,@RequestParam()可以有多个。
@PathVariable映射URL中的占位符,绑定到操作方法入参中:
绑定方法参数名和URL中的参数名一致时
@RequestMapping("/getUser/{name}")
public User getUser(@PathVariable String name){
return userService.selectUser(name);
}
绑定方法参数名和URL中的参数名不一致时
@RequestMapping("/getUserById/{name}")
public User getUser(@PathVariable("name") String userName){
return userService.selectUser(userName);
}
@ControllerAdvice,@Controller 的增强版,主要用来处理全局数据,结合@ExceptionHandler定义全局异常捕获机制
@initBinder主动绑定操作,例如类型转换绑定(Java Data类型转化为String存储等)
@Valid注解,启用数据字段校验,例如密码符合规则等
浙公网安备 33010602011771号