springboot中依赖包中的@ConditionalOnMissingBean不生效,如何解决?

发布于 2022-09-12 22:58:01 字数 787 浏览 14 评论 0

父模块

@Configuration
public class WebConfig {
}

依赖包

@ConditionalOnMissingBean(name = "webConfig")
@Configuration
public class WebConfig {
}

启动报错

aused by: org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'webConfig' for bean class [cn.xxx.WebConfig] conflicts with existing, non-compatible bean definition of same name and class [cn.xxx.WebConfig]

分析

依赖包中的WebConfig先被扫描了出来,此时进行Conditional条件检测,发现不存在,则被实例化,后面再实例化父模块的WebConfig时就冲突了

我给依赖包的WebConfig加了Order,发现也不生效,求大佬指教~~

@Order(Ordered.LOWEST_PRECEDENCE - 1)
@ConditionalOnMissingBean(name = "webConfig")
@Configuration
public class WebConfig {
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

心碎无痕… 2022-09-19 22:58:01

@ConditionalOnMissingBean(WebConfig.class) 值明你不想实例化类的类路径

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文