码迷,mamicode.com
首页 > 编程语言 > 详细

spring:自定义限定符注解@interface, 首选bean

时间:2018-01-17 13:45:44      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:one   bsp   int   自动装配   设置   通过   ali   注解   声明   

spring:自定义限定符注解@interface, 首选bean

1.首选bean

在声明bean的时候,通过将其中一个可选的bean设置为首选(primary)bean能够避免自动装配时的歧义性。当遇到歧义性的时候,Spring将会使用首选的bean,而不是其他可选的bean。实际上,你所声明就是“最喜欢”的bean。

假如有一个接口类:

public interface Dessert{}....

其中有3个类都集成了它
@Component
public class Cake implements Dessert{}

 

@Component
public class IceCream implements Dessert{}

 

@Component

public class cookies implements Dessert{}

因为3个类都使用了@Component注解,在组件扫描一下代码时,发现bean并不是唯一的,是带有歧义的bean,并报错,代码如下:

@Autowired

public void setDessert(Dessert dessert){

this.dessert = dessert

}

这是需要在其中的一个bean上设置为首选(primary),代码如下:
@Component

@Primary

public class IceCream implements Dessert{}

 

 

 

2限定符注解@Qualifier

3自定义限制符注解@interface

 

spring:自定义限定符注解@interface, 首选bean

标签:one   bsp   int   自动装配   设置   通过   ali   注解   声明   

原文地址:https://www.cnblogs.com/achengmu/p/8302029.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!