@Autowired一个接口有多个实现类

之前用到@Autowired这个注解的时候,总是纳闷
public class B implements A;
public class C implements A;

@Autowired
private A a;

此时a调用方法是调用B的方法还是C的方法,实测如此启动会报错抛出了org.springframework.beans.factory.BeanCreationException,而原因是注入的时候发现有2个匹配的bean,(这个注解的首先是通过byType的方式注入Bean)

如果有此场景怎么办呢,如下:

				@Autowired
				private  A b;
				
				@Autowired
				private  A c;
				
				@Autowired
				@Qualifier(value = "c")
				private  A a;

@Autowired注解先用byType,而后是byName。

你可能感兴趣的:(java杂记)