79.SpringBoot的核心注解
作者:mmseoamin日期:2024-02-24

一、SpringBoot的核心注解

  • @SpringBootApplication注解:这个注解标识了一个SpringBoot工程,它实际上是另外三个注解的组合,这三个注解是:
  • @SpringBootConfiguration:这个注解实际就是一个@Configuration,表示启动类也是一个配置类
  • @EnableAutoConfiguration:向Spring容器中导入了一个Selector,用来加载ClassPath下SpringFactories中所定义的自动配置类,将这些自动加载为配置Bean
  • @Conditional 也很关键, 如果没有它我们无法在自定义应用中进行定制开发

    @ConditionalOnBean、

    @ConditionalOnClass、

    @ConditionalOnExpression、

    @ConditionalOnMissingBean等。

    二、知识延伸

    Spring Boot 最核心的27个注解

    @SpringBootApplication:标注一个类是 Spring Boot 应用的主类。

    @EnableAutoConfiguration:启用自动配置,根据 classpath 中的 jar 包、项目的依赖和配置,自动配置 Spring Bean。

    @Configuration:标注一个类是 Spring 的配置类。

    @RestController:标注一个类是 RESTful API 的控制器。

    @RequestMapping:用来映射请求的 URL 和处理方法,还可以设置请求的 HTTP 方法、参数、请求头等。

    @GetMapping:标注一个方法是处理 GET 请求的方法。

    @PostMapping:标注一个方法是处理 POST 请求的方法。

    @PutMapping:标注一个方法是处理 PUT 请求的方法。

    @DeleteMapping:标注一个方法是处理 DELETE 请求的方法。

    @PathVariable:获取 URL 中的参数。

    @RequestParam:获取请求参数。

    @RequestBody:将请求体中的数据绑定到方法的参数上。

    @ResponseBody:将方法返回值作为响应体返回。

    @Component:标注一个类是 Spring Bean。

    @Service:标注一个类是服务类。

    @Repository:标注一个类是数据访问层的组件。

    @Autowired:自动装配一个 Bean。

    @Qualifier:指定 Bean 的名称。

    @Value:获取配置文件中的属性值。

    @ConfigurationProperties:将配置文件中的属性值绑定到 Bean 的属性上。

    @Conditional:根据条件决定是否创建 Bean。

    @Async:标注一个方法是异步方法。

    @Scheduled:定时任务。

    @Transactional:标注一个方法需要事务管理。

    @EnableTransactionManagement:启用 Spring 的事务管理。

    @EnableScheduling:启用 Spring 的定时任务。

    @EnableAsync:启用 Spring 的异步方法。