關於Spring中@Autowired和@Qualifier註釋的使用

當使用@Autowired註解的屬性類型爲接口(接觸耦合),這個接口有兩個以上的實現類時,爲了區分注入的是哪個實現類,使用@Qualifier指定ide

CarIn接口:測試

public interface CarIn {
    public String Car();
}

實現類Car1:code

public class Car1 implements CarIn {

    @Override
    public String Car() {
        return "This is Car1";
    }
}

實現類Car2:xml

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:get

<bean id="Car1" class="com.Lazarus.Car1"/>

    <bean id="Car2" class="com.Lazarus.Car2"/>

    <bean id="Boss" class="com.Lazarus.Boss"/>

測試類:io

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);
    }
}
相關文章
相關標籤/搜索