Spring Boot 是一个基于 Spring 框架的快速开发、便捷部署的框架,它通过各种注解简化了开发过程。
面试的时候常常被问到,springboot中常用的注解都有什么啊。所以稍微总结一下在 Spring Boot 中常用的注解:
Spring Boot Application 相关注解:
@SpringBootApplication用于标识 Spring Boot 应用的主类,通常与public static void main(String[] args)一起使用。@EnableAutoConfiguration: 启用自动配置。@ComponentScan: 扫描指定包及其子包下的组件。
Controller 相关注解:
@RestController: 声明一个控制器,将返回的对象直接写入 HTTP 响应体中。@Controller: 声明一个控制器。@RequestMapping: 映射 HTTP 请求到处理方法。
请求处理相关注解:
@GetMapping,@PostMapping,@PutMapping,@DeleteMapping: 分别对应 HTTP 的 GET、POST、PUT、DELETE 请求。@RequestParam: 用于从请求中获取参数。@PathVariable: 用于从 URL 中提取参数。@RequestBody: 用于将 HTTP 请求体绑定到方法参数。
数据校验相关注解:
@Valid: 用于触发参数验证。@NotNull,@NotEmpty,@NotBlank: 用于字段非空验证。@Size: 用于指定字段长度范围。@Pattern: 用于指定字段的正则表达式。
Spring Boot 配置注解:
@Configuration: 标识一个类作为配置类。@Value: 用于从配置文件中获取属性值。@PropertySource: 指定外部配置文件。
Spring Boot 数据库相关注解:
@Entity,@Table: 标识实体类和对应的数据库表。@Repository: 标识一个 DAO 组件。@Transactional: 定义事务。
Spring Boot 定时任务注解:
@Scheduled: 用于定时任务的方法。
Spring Boot 异步处理注解:
@Async: 声明异步方法。
Spring Boot 缓存注解:
@EnableCaching: 启用缓存。@Cacheable,@CachePut,@CacheEvict: 分别表示查询缓存、更新缓存、清除缓存。
Spring Boot 安全注解:
@EnableWebSecurity: 启用 Web 安全。@Secured,@RolesAllowed,@PreAuthorize: 定义方法级的安全性。
这些注解是 Spring Boot 开发中常用的一部分,但并不是全部。具体使用哪些注解取决于应用的需求和业务逻辑。