Spring注解大全

觉醒任务 2025-12-07 16:16:19

Spring 注解大全(按版本分类)

以下是 Spring 框架中常用注解的表格汇总,包含注解说明和支持版本信息:

核心注解

注解

说明

支持版本

@Component

标识一个类为 Spring 组件

Spring 2.5+

@Repository

标识数据访问组件

Spring 2.0+

@Service

标识服务层组件

Spring 2.0+

@Controller

标识控制器组件

Spring 2.5+

@RestController

@Controller + @ResponseBody

Spring 4.0+

@Configuration

标识配置类

Spring 3.0+

@Bean

声明一个方法的返回值为 Bean

Spring 3.0+

@Autowired

自动装配依赖

Spring 2.5+

@Qualifier

指定注入的 Bean 名称

Spring 2.5+

@Primary

优先注入的 Bean

Spring 3.0+

@Value

注入属性值

Spring 3.0+

@PropertySource

加载属性文件

Spring 3.1+

@Profile

指定组件在特定环境下激活

Spring 3.1+

@Scope

定义 Bean 的作用域

Spring 2.5+

@Lazy

延迟初始化 Bean

Spring 3.0+

@DependsOn

定义 Bean 初始化依赖

Spring 3.0+

Web MVC 注解

注解

说明

支持版本

@RequestMapping

映射请求路径

Spring 2.5+

@GetMapping

GET 请求映射

Spring 4.3+

@PostMapping

POST 请求映射

Spring 4.3+

@PutMapping

PUT 请求映射

Spring 4.3+

@DeleteMapping

DELETE 请求映射

Spring 4.3+

@PatchMapping

PATCH 请求映射

Spring 4.3+

@RequestParam

获取请求参数

Spring 2.5+

@PathVariable

获取路径变量

Spring 3.0+

@RequestBody

获取请求体内容

Spring 3.0+

@ResponseBody

返回内容直接写入响应体

Spring 3.0+

@ModelAttribute

绑定参数到模型对象

Spring 2.5+

@SessionAttribute

访问会话属性

Spring 3.1+

@CookieValue

获取 Cookie 值

Spring 3.0+

@RequestHeader

获取请求头值

Spring 3.0+

@CrossOrigin

跨域支持

Spring 4.2+

@ExceptionHandler

异常处理方法

Spring 3.0+

@ControllerAdvice

全局控制器增强

Spring 3.2+

@ResponseStatus

定义响应状态码

Spring 3.0+

事务注解

注解

说明

支持版本

@Transactional

声明事务

Spring 2.0+

@EnableTransactionManagement

启用事务管理

Spring 3.1+

数据访问注解

注解

说明

支持版本

@Entity

JPA 实体类

JPA 1.0+

@Table

指定实体对应的表

JPA 1.0+

@Id

标识主键

JPA 1.0+

@GeneratedValue

主键生成策略

JPA 1.0+

@Column

指定字段映射

JPA 1.0+

@OneToOne

一对一关系

JPA 1.0+

@OneToMany

一对多关系

JPA 1.0+

@ManyToOne

多对一关系

JPA 1.0+

@ManyToMany

多对多关系

JPA 1.0+

@JoinColumn

指定关联列

JPA 1.0+

@Query

自定义查询语句

Spring Data 1.0+

@Modifying

标识修改操作

Spring Data 1.0+

@EnableJpaRepositories

启用 JPA 仓库

Spring Data 1.0+

Spring Boot 特有注解

注解

说明

支持版本

@SpringBootApplication

主启动类注解

Spring Boot 1.2+

@EnableAutoConfiguration

启用自动配置

Spring Boot 1.0+

@ComponentScan

组件扫描

Spring 3.1+

@ConditionalOnClass

类路径存在时生效

Spring Boot 1.0+

@ConditionalOnMissingBean

Bean 不存在时生效

Spring Boot 1.0+

@ConditionalOnProperty

属性条件判断

Spring Boot 1.0+

@ConfigurationProperties

绑定配置属性

Spring Boot 1.0+

@EnableConfigurationProperties

启用配置属性绑定

Spring Boot 1.0+

@EnableAsync

启用异步方法

Spring 3.0+

@Async

标识异步方法

Spring 3.0+

@EnableScheduling

启用定时任务

Spring 3.0+

@Scheduled

定时任务方法

Spring 3.0+

@EnableCaching

启用缓存

Spring 3.1+

@Cacheable

缓存方法结果

Spring 3.1+

@CacheEvict

清除缓存

Spring 3.1+

@CachePut

更新缓存

Spring 3.1+

测试注解

注解

说明

支持版本

@SpringBootTest

Spring Boot 测试

Spring Boot 1.4+

@DataJpaTest

JPA 测试

Spring Boot 1.4+

@WebMvcTest

MVC 控制器测试

Spring Boot 1.4+

@MockBean

模拟 Bean

Spring Boot 1.4+

@Test

JUnit 测试方法

JUnit 4+

@BeforeEach

每个测试方法前执行

JUnit 5+

@AfterEach

每个测试方法后执行

JUnit 5+

@BeforeAll

所有测试方法前执行

JUnit 5+

@AfterAll

所有测试方法后执行

JUnit 5+

安全注解 (Spring Security)

注解

说明

支持版本

@EnableWebSecurity

启用 Web 安全

Spring Security 3.2+

@PreAuthorize

方法执行前权限检查

Spring Security 3.0+

@PostAuthorize

方法执行后权限检查

Spring Security 3.0+

@Secured

方法权限检查

Spring Security 2.0+

@RolesAllowed

JSR-250 角色检查

Spring Security 2.0+

@EnableGlobalMethodSecurity

启用方法级安全

Spring Security 3.0+

注意:版本信息表示该注解从指定版本开始支持,后续版本通常都继续支持。部分注解在不同版本中可能有功能增强。

本文章首发在 LearnKu.com 网站上。