Spring中出现NoUniqueBeanDefinitionE

2021-10-14  本文已影响0人  向上生长之路

使用Spring开发框架,有时会遇到同一个接口有多个实现类的情况,这时候在代码中依赖注入该接口的话,Spring就会报错:org.springframework.beans.factory.NoUniqueBeanDefinitionException

错误重现

1.创建接口类,暴露name方法用来区分具体的实现类



2.创建接口对应的两个实现类




3.使用@Resource注解注入接口

按照以上操作,启动工程就会发现控制台报错了


解决方案

编写控制器方法来验证注入的类



启动工程访问控制器,可以看到对应的name值,符合我们的预期~


完整测试工程参考:https://github.com/netbuffer/spring-boot-demo

上一篇下一篇

猜你喜欢

热点阅读