You need to enable JavaScript to run this app. 自定义互斥条件注解引发Spring Boot Bean重复装配问题排查
优惠活动
大模型
产品
解决方案
定价
更多

自定义互斥条件注解引发Spring Boot Bean重复装配问题排查

Spring Boot 自定义条件注解互斥逻辑失效导致多Bean装配问题

现有实现逻辑

  • 项目中存在实现SharedInterface接口的两个业务组件,设计上两个组件完全互斥,同一时间最多只有一个组件会被装配到Spring容器中
  • 基于@ConditionalOnProperty封装了两个自定义条件注解,分别绑定my-prefix.enable-this-thing配置项的true、false判断分支
  • 两个实现SharedInterface接口的组件,分别标注上述两个互斥条件注解
  • 依赖SharedInterface的消费者类通过构造器注入实现类

实际异常表现

运行时两个组件均被成功装配到容器中,导致依赖SharedInterface的消费者类注入时抛出多Bean匹配异常。

待解决诉求

  • 定位当前自定义条件注解的配置错误根因,修正互斥失效问题
  • 依托自定义注解封装通用条件判断逻辑,避免在项目大量类上重复编写相同的@ConditionalOnProperty配置
  • 了解是否存在不依赖@Conditional系列注解即可实现Bean可选自动装配的更优实现方案

内容的提问来源于stack exchange,提问作者Taugenichts

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.01 23:15:06