开发者社区> 问答> 正文

spring autowired的问题?报错

现在有个core project 里面存在一个采用@Component暴露的bean A 这个bean中通过@Autowired 引用的bean B。

Core project 被 web project使用,但是web project 因为特定需要,定义了三个不同的 Bean B,称之为B1,B2,B3,这样,系统启动时会报错:expected single matching bean but found 3

我的问题是不修改Core Project同时满足能定义多个Bean B,怎么能让A reference 到特定的 Bean 'B',需要web project如何配置?

展开
收起
爱吃鱼的程序员 2020-06-14 16:51:37 387 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    @Component
    @Qualifier("cold")


    @Autowired
    @Qualifier("cold")


    <divclass='ref'>

    引用来自“yfdream”的评论

    @Component
    @Qualifier("cold")


    @Autowired
    @Qualifier("cold")


    取消扫描,手工配置!嗯,后来通过excludeFilter排除掉,然后用@Bean注解在webproject重新配置.虽然麻烦点,但是能解决问题

    <spanstyle="font-family:微软雅黑,Verdana,sans-serif,宋体;font-size:14px;line-height:normal;background-color:#FFFFFF;">@Component(“1”)

    <spanstyle="font-family:微软雅黑,Verdana,sans-serif,宋体;font-size:14px;line-height:normal;background-color:#FFFFFF;"><spanstyle="font-family:微软雅黑,Verdana,sans-serif,宋体;font-size:14px;line-height:normal;background-color:#FFFFFF;">@Component(“2”)

    <spanstyle="font-family:微软雅黑,Verdana,sans-serif,宋体;font-size:14px;line-height:normal;background-color:#FFFFFF;"><spanstyle="font-family:微软雅黑,Verdana,sans-serif,宋体;font-size:14px;line-height:normal;background-color:#FFFFFF;">@Component(“3”) 这样不行?

    2020-06-14 16:51:54
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多