spring:自定義限定符注解@interface, 首選bean


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM