Spring的常用注解

67 阅读1分钟

1.核心容器注解:

1.1 组件扫描

  • @Component:通用组件注解,标记类为 Spring 管理的 Bean。
  • @Repository:用于 DAO 层(数据访问层),提供数据访问异常转换。
  • @Mapper:这个不是Spring的注解,但是是Mybatis和Spring集成时用于标记Mapper接口的注解,当使用Mybatis和Spring集成简化DAO层时,Mapper接口替代了DAO层。
  • @Service:用于 Service 层(业务逻辑层)。
  • @Controller:用于 MVC 控制器层。

1.2 依赖注入

  • @Autowired:自动按类型注入依赖(需配合 @Component 等注解使用)。
  • @Qualifier:当存在多个同类型 Bean 时,通过名称指定注入的 Bean。
  • @Resource:JSR-250 标准注解,优先按名称注入(Java 原生注解)。
  • @Value:注入外部配置文件(如 application.properties)中的值。

2. 请求路径和参数捕捉

  • @RestController:组合注解,等价于 @Controller + @ResponseBody,返回 JSON/XML 数据。
  • @RequestMapping:映射 HTTP 请求路径,可指定方法(GET、POST 等)。
  • @GetMapping,@PostMapping,@PutMapping,@DeleteMapping:@RequestMapping 的快捷方式。
  • @RequestBody:将 HTTP 请求体转换为 Java 对象。
  • @PathVariable:获取 URL 路径中的变量(如 /user/{id})。
  • @RequestParam:获取请求参数(如 ?name=xxx)。

3. 事务管理

  • @Transactional:声明式事务管理,可配置隔离级别、传播行为等。