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注解,启用数据字段校验,例如密码符合规则等
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!