Spring Boot 中有很多注解,下面列出了其中一些最常用的注解:
-
@SpringBootApplication:标注主程序类,表示这是一个 Spring Boot 应用。
-
@RestController:标注在类上,相当于@Controller和@ResponseBody的组合,表示这个类是控制器,处理 HTTP 请求并返回 JSON 数据。
-
@RequestMapping:标注在方法上,映射 HTTP 请求的 URL 路径。
-
@Autowired:用于自动装配 bean,可以标注在字段、setter 方法或者构造方法上。
-
@Component:泛指组件,当组件不好归类时,可以使用该注解标注一个类。
-
@Service:标注服务层组件。
-
@Repository:标注数据访问层组件,配合 Spring 的自动扫描功能,将接口实现类注册为 bean。
-
@Configuration:标注配置类,可以替代 XML 配置文件,定义配置类中的 Bean。
-
@EnableAutoConfiguration:启用 Spring Boot 的自动配置机制。
-
@EnableScheduling:开启定时任务的支持。
-
@Value:用于注入配置文件中的值。
-
@ConfigurationProperties:绑定配置文件中的属性到 Bean。
-
@Qualifier:指定注入时的具体 bean。
-
@PathVariable:用于将 URL 中的参数绑定到方法参数上。
-
@RequestParam:用于将请求参数绑定到方法参数上。
-
@ResponseBody:将方法返回的对象作为 HTTP 响应体,返回 JSON 数据。
-
@RequestBody:将 HTTP 请求体绑定到方法参数上。
-
@Valid:用于校验方法参数。
-
@Transactional:用于声明事务。
-
@Aspect:声明切面,结合其他注解实现 AOP。
-
@EnableAspectJAutoProxy:开启基于注解的 AOP 功能。
-
@Async:异步执行方法。
-
@ControllerAdvice:全局异常处理器。
-
@ResponseStatus:设置响应状态码。
-
@ExceptionHandler:异常处理方法。
-
@Conditional:条件注解,根据条件决定是否创建 Bean。
-
@Scheduled:定时任务。
-
@Profile:指定配置文件的 profile。
-
@CrossOrigin:允许跨域访问。
-
@EnableTransactionManagement:开启注解事务管理。
-
@EnableCaching:开启缓存功能。
-
@Cacheable:缓存方法的返回结果。
-
@CacheEvict:清除缓存。
-
@CachePut:更新缓存。
-
@EnableAsync:开启异步方法支持。
-
@Entity:JPA 实体类。
-
@Table:指定数据库表名。
-
@Id:标识实体类的主键。
-
@GeneratedValue:指定主键的生成策略。
-
@Column:标识实体类属性与数据库表字段的映射关系。
-
@JsonIgnore:忽略 JSON 序列化和反序列化中的属性。
-
@JsonFormat:格式化日期类型属性。
-
@Validated:校验参数,结合校验框架(如 Hibernate Validator)使用。
-
@ResponseStatus:设置响应状态码。
-
@RequestMapping:映射 HTTP 请求路径。
-
@RestControllerAdvice:全局异常处理器。
-
@RequestParam:绑定请求参数到方法参数。
-
@PathVariable:绑定 URL 占位符到方法参数。
-
@RequestBody:接收 HTTP 请求体中的 JSON 数据。
-
@ResponseBody:将方法返回的对象序列化为 JSON 响应给客户端。