Spring实战Day5

3.3自动装配bean的歧义性

  1. 产生歧义的原因

     找到多个符合条件的组件,如下注入talent时会有两个满足条件的组件
    



  2. 解决方法

    1. 标示首选的bean,但是同时标示两个或多个同样会存在歧义
      • 自动装配标示Primary
      • JavaConfig标示Primary

    @Bean
    @Primary
    public Talent getLiteraryTalent() {
    return new LiteraryTalent();
    }

	* XML标示Primary
                    ![](https://img2018.cnblogs.com/blog/1462954/201903/1462954-20190314212910272-1111257626.png 'XML标示')
2. 限定自动装配的bean
	* 自动装配限定     
                    ![](https://img2018.cnblogs.com/blog/1462954/201903/1462954-20190314212937132-289608610.png '自动装配限定')
		![](https://img2018.cnblogs.com/blog/1462954/201903/1462954-20190314213032018-137086031.png '自动装配限定')
                    ![](https://img2018.cnblogs.com/blog/1462954/201903/1462954-20190314213045823-532104254.png '自动装配限定')
	* JavaConfig限定    
                ![](https://img2018.cnblogs.com/blog/1462954/201903/1462954-20190314213243331-911458318.png '自动装配限定')
3. 使用自定义的限定符注解   
             ![](https://img2018.cnblogs.com/blog/1462954/201903/1462954-20190314213309307-1076498844.png '自定义的限定符注解')
             ![](https://img2018.cnblogs.com/blog/1462954/201903/1462954-20190314213326998-1398699743.png '自定义的限定符注解')
posted @ 2019-03-14 21:52  愉快的白萝卜  阅读(97)  评论(0)    收藏  举报