- 自动装配的歧义性
- 仅有一个bean匹配所需的结果时,自动装配才是有效的
- 如果不仅有一个bean能够匹配结果的话,这种歧义性会阻碍Spring自动装配属性、构造器参数或方法参数
- Spring无法做出选择;Spring此时别无他法,只好宣告失败并抛出异常
- 即一个接口有多个实现类装配时运行会报错NoUniqueBeanDefinitionException: No qualifying bean of type
- 解决方法---指明实现类的优先级@Primary
- 指明实现类的优先级,注入的时候使用优先级高的实现类
- 在实现类上标识首选的bean,使用@Primary
- 解决方法---通过 @Autowired 和 @Qualifier 配合注入
- 解决方法---使用@Resource 注入,根据默认类名区分
- 解决方法---使用@Resource 注入,根据@Service 指定的名称区分
Spring高级装配--一个接口多个实现类
猜你喜欢
转载自blog.csdn.net/weixin_59624686/article/details/131126207
今日推荐
周排行