一个接口多个实现,指定实现类

目的:一个接口多个实现时,根据不同的条件调用不用的实现

1、有如下接口

public interface Pay {
	public Object pay(Map<String,Object> map);
}

2、有如下两个实现

实现一:

@Service("weixinPay")
public class WeixinPay implements Pay{
    @Override
    public Object pay(Map<String, Object> map){
        return "weixinpay";
    }
}

实现二:

@Service("aliPay")
public class AliPay implements Pay{
    @Override
    public Object pay(Map<String, Object> map){
        return "alipay";
    }
}

3、根据不同的条件调用不同的实现

方法一:

@Resource(name="weixinPay")
ShopPay weixinPay;
	
@Resource(name="aliPay")
ShopPay aliPay;

方法二:

@Autowired
@Qualifier("weixinPay")
ShopPay weixinPay;

@Autowired
@Qualifier("aliPay")
ShopPay aliPay;


猜你喜欢

转载自blog.csdn.net/qq_33157666/article/details/79944546
今日推荐