一個介面多個實現,指定實現類
阿新 • • 發佈:2019-01-08
目的:一個介面多個實現時,根據不同的條件呼叫不用的實現
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;