关于Spring中@Autowired和@Qualifier注释的使用

本文介绍了在Spring框架中如何使用@Autowired和@Qualifier注解来解决接口的依赖注入问题。当存在多个实现类时,通过@Qualifier指定具体实现。示例展示了CarIn接口及其实现类Car1和Car2,并通过Boss类的实例化演示了具体的注入过程。

当使用@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:


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

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

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

测试类:

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);
    }
}

转载于:https://www.cnblogs.com/lvdandan/p/7124040.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值