Spring注解大全
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+ |
注意:版本信息表示该注解从指定版本开始支持,后续版本通常都继续支持。部分注解在不同版本中可能有功能增强。