• SpringBoot常用注解释义


    @SpringBootApplication

    @SpringBootApplication注解是一个快捷的配置注解,在被它标注的类中,可以定义一个或多个Bean,并自动触发自动配置Bean和自动扫描组件。此注解相当于@Configuration@EnableAutoConfiguration@ComponentScan的组合。

    在Spring Boot应用程序的主类中,就使用了此注解。示例代码如下:

    @SpringBootApplication
    public class Application{
        public static void main(String [] args){
            SpringApplication.run(Application.class,args);
        }
    }

    @EnableAutoConfiguration

    @EnableAutoConfiguration注解用于通知Spring,根据当前类路径下引入的依赖包,自动配置与这些依赖包相关的配置项。

    @ConditionalOnClass与@ConditionalOnMissingClass

    这两个注解属于类条件注解,它们根据是否存在某个类作为判断依据来决定是否要执行某些配置。下面是一个简单的示例代码:

    @Configuration
    @ConditionalOnClass(DataSource.class)
    class MySQLAutoConfiguration {
       ................
    }

    @ConditionalOnBean与@ConditionalOnMissingBean

    这两个注解属于对象条件注解,根据是否存在某个对象作为依据来决定是否要执行某些配置方法。示例代码如下:

    @Bean
    @ConditionalOnBean(name="dataSource")
    LocalContainerEntityManagerFactoryBean entityManagerFactory(){
         ..................
      }
    @Bean
    @ConditionalOnMissingBean
    public MyBean myBean(){
           ..................
       }

    @ConditionalOnProperty

    @ConditionalOnProperty注解会根据Spring配置文件中的配置项是否满足配置要求,从而决定是否要执行被其标注的方法。示例代码如下:

    @Bean
    @ConditionalOnProperty(name="alipay",havingValue="on")
    Alipay alipay(){
            return new Alipay();
       }

    @ConditionalOnResource

    此注解用于检测当某个配置文件存在使,则触发被其标注的方法,下面是使用此注解的代码示例:

    @ConditionalOnResource(resources = "classpath:website.properties")
    Properties addWebsiteProperties(){
        .....................
     }

    @ConditionalOnWebApplication与@ConditionalOnNotWebApplication

    这两个注解用于判断当前的应用程序是否是Web应用程序。如果当前应用是Web应用程序,则使用Spring WebApplicationContext,并定义其会话的生命周期。下面是一个简单的示例:

    @ConditionalOnWebApplication
    HealthCheckController healthCheckController(){
       ......................
     }

    @ConditionalExpression

    此注解可以让我们控制更细粒度的基于表达式的配置条件限制。当表达式满足某个条件或者表达式为真的时候,将会执行被此注解标注的方法。

    @Bean
    @ConditionalException("${localstore} && ${local == 'true'}")
    LocalFileStore store(){
          ...........................
     }

    @Conditional

    @Conditional注解可以控制更为复杂的配置条件。在Spring内置的条件控制注解不满足应用需求的时候,可以使用此注解定义自定义的控制条件,以达到自定义的要求。下面是使用该注解的简单示例:

    @Conditioanl(CustomConditioanl.class)
    CustomProperties addCustomProperties(){
         ......................

      }

  • 相关阅读:
    Linux权限
    error: reference to ‘byte‘ is ambiguous使用QtCharts报的错误
    Service Mesh 解决问题
    数据结构之链表详解(1)
    Maven:命令行
    程序员股东转让出资合同书
    Linux 学习笔记:Linux MISC 驱动
    软件工程专业如何论文选题?
    PyCharm 配置sqlite3驱动下载问题
    动物实验文献检索——Sci
  • 原文地址:https://blog.csdn.net/weixin_41648325/article/details/125402734