• springboot--自动配置


    自动配置中使用的条件化注解

    条件化注解     配置生效条件
    @ConditionalOnBean     配置了某个特定Bean
    @ConditionalOnMissingBean     没有配置特定的Bean
    @ConditionalOnClass     Classpath里有指定的类
    @ConditionalOnMissingClass     Classpath里缺少指定的类
    @ConditionalOnExpression     给定的SpEL表达式计算结果为true
    @ConditionalOnJava     Java的版本匹配特定值或者一个范围值
    @ConditionalOnJndi     参数中给定的JNDI位置必须存在一个,如果没有参数,则需要JNDI InitialContext
    @ConditionalOnProperty     指定的配置属性要有一个明确的值
    @ConditionalOnResource     Classpath里有指定的资源
    @ConditionalOnWebApplication     这是一个Web应用程序
    @ConditionalOnNotWebApplication     这不是一个Web应用程序

    @Configuration
    @ConditionalOnClass({DataSource.class, EmbeddedDatabaseType.class})
    @EnableConfigurationProperties({DataSourceProperties.class})
    @Import({Registrar.class, DataSourcePoolMetadataProvidersConfiguration.class})
    public class DataSourceAutoConfiguration {
        ... ...
      
      @Configuration
      @ConditionalOnProperty(prefix = "spring.datasource", name = "jmx-enabled")
      @ConditionalOnClass(name = "org.apache.tomcat.jdbc.pool.DataSourceProxy")
      @Conditional(DataSourceAutoConfiguration.DataSourceAvailableCondition.class)
      @ConditionalOnMissingBean(name = "dataSourceMBean")
      protected static class TomcatDataSourceJmxConfiguration {
      
         @Bean
         public Object dataSourceMBean(DataSource dataSource) {
            if (dataSource instanceof DataSourceProxy) {
               try {
                  return ((DataSourceProxy) dataSource).createPool().getJmxPool();
               }
               catch (SQLException ex) {
                  logger.warn("Cannot expose DataSource to JMX (could not connect)");
               }
            }
            return null;
         }
    
      }
        ... ...
    }

    https://www.cnblogs.com/niechen/p/9262452.html

  • 相关阅读:
    父目录权限子目录权限关系
    微信自媒体账号涉违规大规模被封
    微信支付接口申请指南
    微信公众平台开发(83) 生成带参数二维码
    百度天气预报接口
    微信支付全面开放
    公众平台商户接入(微信支付)功能申请教程
    移动互联网流量变现模式调研问卷
    天气预报接口
    微信公众平台开发(82) 天气预报
  • 原文地址:https://www.cnblogs.com/jentary/p/11643108.html
Copyright © 2020-2023  润新知