jjzjj

ConditionalOnMissingBean

全部标签

java - Spring配置类加载顺序与spring-boot @ConditionalOnMissingBean?

我想使用@ConditionalOnMissingBean启用自定义配置和合理的默认值?我有一个springboot应用程序:@Configuration@Import({CustomConfiguration.class,DefaultConfiguration.class})@EnableAutoConfiguration(exclude={MetricFilterAutoConfiguration.class})publicclassApplication{@AutowiredErrorListenererrorListener;}和一个允许Springxml或组件扫描的Cust

java - spring 注解@ConditionalOnMissingBean 有什么作用?

我正在尝试启动一个已使用此注释的springboot应用程序。当我尝试启动应用程序时,出现以下错误:org.springframework.boot.autoconfigure.condition.OnBeanCondition$BeanTypeDeductionExceptionFailedtodeducebeantypeforcom.shutterfly.sbs.platform.SbsPlatformConfigurationClientConfig.getRestTemplate代码:@ConditionalOnMissingBean@BeanpublicRestTemplat

@ConditionalOnMissingBean

一.@ConditionalOnMissingBean:先看下官方解释从上图主要可以得到如下信息:仅当BeanFactory中已没有满足指定要求的Bean时才匹配当放置在@Bean方法上时,Bean类默认为工厂方法的返回类型:该条件只能匹配到目前为止已由应用程序上下文处理的Bean定义,因此,强烈建议仅在自动配置类上使用该条件。如果候选Bean可能是由另一个自动配置创建的,请确保使用此条件的Bean在之后运行。简单的说其实就是只有当BeanFactory中没有指定的bean的时候才能匹配,主要是用来做自动配置的,当程序没有配置指定的类的时候,就会使用默认配置用下面简单的例子说下@Service