小编Get*_*mes的帖子

使用spring-boot @ConditionalOnMissingBean的Spring配置类加载顺序?

我想使用@ConditionalOnMissingBean?启用自定义配置和合理默认值?我有一个春季启动应用程序:

@Configuration
@Import({CustomConfiguration.class, DefaultConfiguration.class})
@EnableAutoConfiguration(exclude={MetricFilterAutoConfiguration.class})
public class Application {

    @Autowired
    ErrorListener errorListener;
}
Run Code Online (Sandbox Code Playgroud)

和一个CustomConfiguration允许Spring xml或组件扫描:

@Configuration("customConfiguration")
@ImportResource("classpath:customContext.xml")
@ComponentScan({"org.custom.impl"})
public class CustomConfiguration
Run Code Online (Sandbox Code Playgroud)

DefaultConfiguration用途ConditionalOnMissingBean:

@Bean
@ConditionalOnMissingBean 
ErrorListener errorListener() {
     return new LoggingErrorListener();
}
Run Code Online (Sandbox Code Playgroud)

我想要实现的是允许ErrorListener在类路径中定义自定义,如果没有定义则使用默认值LoggingErrorListener(通过ConditionalOnMissingBean).我发现它DefaultConfiguration总是被用在之前CustomConfiguration.

我一直在尝试@DependsOn@Order,但没有喜悦.

java spring spring-boot

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×1

spring ×1

spring-boot ×1