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

本文内容纲要: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

本文内容总结:spring:自定义限定符注解@interface, 首选bean

原文链接:https://www.cnblogs.com/achengmu/p/8302029.html

以上是 spring:自定义限定符注解@interface, 首选bean 的全部内容, 来源链接: utcz.com/z/362363.html

回到顶部