当使用@Autowired注解的属性类型为接口(接触耦合),这个接口有两个以上的实现类时,为了区分注入的是哪一个实现类,使用@Qualifier指定
CarIn接口:
public interface CarIn { public String Car();}
实现类Car1:
public class Car1 implements CarIn { @Override public String Car() { return "This is Car1"; }}
实现类Car2:
public class Car2 implements CarIn { @Override public String Car() { return "This is Car2"; }}
Boss类:
public class Boss { @Resource(name="Car2") private CarIn carIn; @Override public String toString() { return carIn.Car(); }}
ApplicationContext.xml:
测试类:
public class test { public static void main(String[] args) { ApplicationContext ctx=new ClassPathXmlApplicationContext("ApplicationContext.xml"); Boss boss=(Boss)ctx.getBean("Boss"); System.out.println(boss); }}