• Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?


    目录

    一、@SpringBootApplication

    二、@SpringBootConfiguration

    三、@EnableAutoConfiguration

    四、@ComponentScan


     

    一、@SpringBootApplication

    @SpringBootApplication是Spring Boot框架的核心注解之一,它用于标识一个主配置类,通常是项目的入口类。该注解可以将Spring Boot应用程序自动配置和启动的相关注解整合在一起,简化了Spring Boot应用的开发。

    @SpringBootApplication解包含了以下三个注解的功能:

    1. @Configuration:标注该类是一个配置类,可以使用@Bean注解来定义Bean。

    2. @EnableAutoConfiguration:启用Spring Boot的自动配置机制,让Spring Boot自动根据项目的依赖和配置来决定应用程序的配置。

    . @ComponentScan:启用组件扫描,自动扫描并加载符合条件的组件,包括@Controller、@Service、@Repository等。

    使用@SpringBootApplication注解,可以简化Spring Boot应用的配置,避免了繁琐的XML配置文件。通常情况下,我们只需要在项目的入类上添加@SpringBootApplication注解即可。

    示例代码如下所示:

    1. @SpringBootApplication
    2. public class Application {
    3. public static void main(String[] args) {
    4. SpringApplication.run(Application.class, args);
    5. }
    6. }

    上述代码中,Application类使用@SpringBootApplication注解标注,并通过SpringApplication.run方法启动Spring Boot应用程序。

    总结一下@SpringBootApplication的用法和作用:

    1. 用于标识Spring Boot应用程序的入口类。
    2. 整合了@Configuration、@EnableAutoConfiguration和@ComponentScan等注解的功能。
    3. 简化了Spring Boot应用的配置和启动过程。
    4. 可以通过SpringApplication.run方法启Spring Boot应用程序。

     

    二、@SpringBootConfiguration

    SpringBootConfiguration是Spring Boot框架中的一个注解,它用于标识一个类是Spring Boot的配置类。

    在Spring Boot中,我们使用@Configuration注解来标识一个类是配置类,用于定义和配置Bean以及其他组件。而SpringBootConfiguration是@Configuration注解的派生注解,它在@Configuration注解的基础上添加了一些特定的功能。

    SpringBootConfiguration的主要作用有以下几个方面:

    1. 标识配置类:使用@SpringBootConfiguration注解标识的类会被Spring Boot识别为配置类,Spring Boot会根据配置类的内容来进行相应的自动配置。

    2. 综合性注解:SpringBootConfiguration是一个综合性注解,它包含了@Configuration、@ComponentScan和@EnableAutoConfiguration等注解的功能。因此,使用@SpringBootConfiguration注解可以简化配置类的编写,减少重复的注解。

    3. 自动配置:在Spring Boot中,使用@SpringBootConfiguration注解的类通常会与@EnableAutoConfiguration注解一起使用,实现自动配置的功能。@EnableAutoConfiguration注解用于启用Spring Boot的自动配置机制,根据项目的依赖和配置自动进行相关的配置。

    使用@SpringBootConfiguration注解的示例代码如下:

    1. @SpringBootConfiguration
    2. public class AppConfig {
    3. // 配置Bean和其他组件
    4. }

    上述代码中,AppConfig类使用@SpringBootConfiguration注解标识为配置类,通过在该类中定义Bean和其他组件的方式来进行配置。

    总结一下@SpringBootConfiguration的用法和作用:

    1. 用于标识Spring Boot的配置类。
    2. 继承了@Configuration注解的功能,可以定义Bean和其他组件。
    3. 可以与@EnableAutoConfiguration注解一起使用,实现自动配置的功能。
    4. 简化了配置类的编写,减少了重复的注解。

     

    三、@EnableAutoConfiguration

    @EnableAutoConfiguration是Spring Boot框架中的一个重要注解,它用于启用Spring Boot的自动配置机制。当我们使用@EnableAutoConfiguration注解时,Spring Boot会根据项目的依赖和配置来自动配置和加载相应的Bean。

    @EnableAutoConfiguration注解的主要作用如下:

    1. 自动配置:通过@EnableAutoConfiguration注解,Spring Boot会根据classpath中的依赖和项目中的配置来自动完成一系列的自动配置工作。它会根据约定和条件,自动加载和配置Spring Boot所需的各种Bean。

    2. 简化配置:使用@EnableAutoConfiguration注解可以大大简化Spring Boot应用的配置工作。Spring Boot会根据项目的依赖自动完成大部分配置,省去了繁琐的XML配置和手动配置的过程。

    3. 条件装配:@EnableAutoConfiguration注解会使用Spring Boot的条件注解机制来进行条件装配。它会根据项目的依赖和配置,判断是否满足条件来决定是否自动配置相关的Bean。

    @EnableAutoConfiguration注解通常与@SpringBootApplication注解一起使用,@SpringBootApplication注解内部已经包含了@EnableAutoConfiguration注解。示例代码如下所示:

    1. @SpringBootApplication
    2. public class Application {
    3. public static void main(String[] args) {
    4. SpringApplication.run(Application.class, args);
    5. }
    6. }

    上述代码中,@SpringBootApplication注解标识了项目的入口类,内部已经包含了@EnableAutoConfiguration注解。

    总结一下@EnableAutoConfiguration的用法和作用:

    1. 启用Spring Boot的自动配置机制。
    2. 自动根据项目的依赖和配置加载相应的Bean。
    3. 简化配置,省去大部分的XML配置和手动配置过程。
    4. 使用条件注解机制进行条件装配。

     

    四、@ComponentScan

    @ComponentScan是SpringBoot框架中的一个注解,用于启用组件扫描功能。它会自动扫描并加载符合条件的组件,包括@Controller、@Service、@Repository等。@ComponentScan注解的主要作用有以下几个方面:

    1.组件扫描:@ComponentScan注解会扫描指定的包及其子包下的所有类,寻找带有@Component及其派生注解的类,并将其注册为Spring的Bean。这样,在其他地方就可以通过自动注入的方式将这些组件使用起来。

    2.简化配置:使用@ComponentScan注解可以大大简化SpringBoot应用的配置工作。不再需要手动配置每个组件的Bean定义,而是可以通过自动扫描的方式自动加载所需的组件。

    3.指定扫描路径:@ComponentScan注解可以通过basePackages或value属性指定要扫描的包路径。如果不指定,默认会扫描启动类所在的包及其子包下的所有类。

    4.排除特定组件:@ComponentScan注解还可以通过excludeFilters属性排除指定的组件,不进行扫描和加载。可以使用FilterType枚举类型来指定排除的条件,如按照类、注解等进行排除。

    示例代码如下所示:

    1. @SpringBootApplication
    2. @ComponentScan(basePackages = "com.example")
    3. public class Application {
    4. public static void main(String[] args) {
    5. SpringApplication.run(Application.class, args);
    6. }
    7. }

    上述代码中,@ComponentScan注解标识了项目的入口类,并通过basePackages属性指定要扫描的包路径为"com.example"。这样,SpringBoot会扫描该包及其子包下的所有类,并注册为Spring的Bean。

    总结一下@ComponentScan的用法和作用:
    1.启用组件扫描功能。
    2.自动扫描并加载符合条件的组件,包括@Controller、@Service、@Repository等。
    3.通过basePackages属性指定要扫描的包路径。
    4.可以通过excludeFilters属性排除指定的组件。

  • 相关阅读:
    LangChain结合milvus向量数据库以及GPT3.5结合做知识库问答之一 --->milvus的docker compose安装
    第1讲 Android Camera Native Framework 课程介绍
    learn threejs (最小化例子)
    使用tkinter开发GUI程序4 -- tkinter常见控件的特征属性(第二部分)
    Docker与Kubernetes结合的难题与技术解决方案
    ElasticSearch的简单了解和使用
    关于融合软件运行unity程序被闪退解决方案
    linux基础(2)
    Linux学习-66-系统日志管理
    进程线程协程补充、docker-compose一键部署项目、搭建代理池、requests超时设置、认证设置、异常处理、上传文件
  • 原文地址:https://blog.csdn.net/yangyin1998/article/details/132195275