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
