常见注解
Spring 的常见注解
类别 | 注解 | 作用描述 | 补充说明 |
---|---|---|---|
1. 声明Bean |
| 通用组件注解,标识为Spring管理的Bean | 其他三个注解( 均为 |
| 标识为控制层组件(Spring MVC) | 通常与 | |
| 标识为业务逻辑层组件 | 增强代码可读性,适用于服务层 | |
| 标识为持久层组件(DAO层) | 自动转换持久化异常为Spring统一异常体系 | |
2. 依赖注入 |
| 自动按类型装配依赖(默认byType) | 可配合 |
| 指定具体Bean的名称(配合 | 解决同一类型多个Bean的冲突问题 | |
| JDK提供的按名称装配注解(默认byName) | 属于JSR-250规范,非Spring原生 | |
3. 作用域控制 |
| 定义Bean的作用域(如 | 支持 |
4. 配置相关 |
| 声明当前类为配置类 | 替代XML配置文件,通常与 |
| 指定Spring扫描的包路径 | 默认扫描当前类所在包及其子包 | |
| 将方法返回值注册为Spring Bean | 常用于管理第三方库的组件 | |
5. AOP增强 |
| 声明切面类 | 需配合 |
| 前置通知:在目标方法执行前执行 | 可指定切入点表达式 | |
| 后置通知:在目标方法执行后执行(无论是否异常) | 包括 | |
| 环绕通知:可控制目标方法执行全过程 | 需通过 | |
| 定义可重用的切入点表达式 | 通常作为空方法使用 |
SpringMVC常见的注解
注解 | 作用描述 | 核心属性/示例 | 使用场景 |
@RequestMapping | 基础请求映射注解,可定义URL路径、请求方法等 | - value/path:请求路径 - method:请求类型(GET/POST等) - params/headers:参数过滤条件 | 类级别定义公共路径前缀,方法级别定义具体接口(如 |
@GetMapping | 专用于处理HTTP GET请求的快捷注解 | 等价于 | 数据查询接口(如 |
@PostMapping | 专用于处理HTTP POST请求的快捷注解 | 等价于 | 数据新增操作(如提交表单) |
@RequestBody | 将请求体JSON数据转换为Java对象 | 需配合JSON转换器使用 示例: | 接收前端提交的JSON格式数据(如RESTful API) |
@RequestParam | 获取URL查询参数 | - name/value:参数名 - required:是否必传 - defaultValue:默认值 示例: | 传统参数传递方式(如分页参数 |
@PathVariable | 从URL路径模板中获取参数 | 需配合 | RESTful风格接口(如 |
@ResponseBody | 将方法返回值序列化为JSON响应 | 需配合 | 前后端分离架构中的API响应 |
@RequestHeader | 获取HTTP请求头信息 | 可指定具体Header名称 示例: | 获取认证令牌、设备信息等Header数据 |
@PutMapping | 专用于处理HTTP PUT请求的快捷注解 | 等价于 | 全量更新资源操作 |
@DeleteMapping | 专用于处理HTTP DELETE请求的快捷注解 | 等价于 | 删除 |
Springboot常见注解
注解 | 核心作用 | 功能扩展与示例 | 关键机制 |
---|---|---|---|
@SpringBootConfiguration | 声明当前类为 Spring Boot 的配置类,继承自 | - 允许在类中通过 | 本质是 |
@EnableAutoConfiguration | 激活 Spring Boot 的自动配置机制,根据依赖和类路径自动加载配置 | - 加载 | 通过 |
@ComponentScan | 自动扫描并注册组件(如 | - 默认扫描启动类所在包及其子包 - 可自定义扫描路径 示例: | 替代 XML 配置中的 |