说说springboot中常用的注解,面试中有遇到吗?

305 阅读2分钟

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 开发中常用的一部分,但并不是全部。具体使用哪些注解取决于应用的需求和业务逻辑。