师兄,下午好~
我刚看视频的7-9节,视频中你对public BestPayService BestPayService()如下方法进行封装定义,你在视频中总结时提到一句“此方法名和返回类型必须要这样取”,然后你也没有详细解释为什么这样?我有点如下几点不解,急盼师兄解惑
问题一:为什么此方法名必须要取BestPayService()方法名,而不是其它方法名?因为你BestPayService接口中也没有定义此方法,也不存在重写此方法的问题。
问题二:你用 @Autowired
private BestPayService bestPayService;注入这个类的时候,PayService如何知道就是要用你上面注入的那个bean类,而不是BestPayServiceImpl实现类的对象呢?
问题三:如果假设 BestPayService接口中也有BestPayService()方法名,我们再通过你上面的方法再定义BestPayService BestPayService() 会不会覆盖BestPayService接口中定义的BestPayService()方法内容或报错?
@Component
public class BestPayConfig {
//如下的方法名和返回类型必须这样取
@Bean
public BestPayService BestPayService() {
//微信支付配置
WxPayConfig wxPayConfig = new WxPayConfig();
//微信native支付的应用id
wxPayConfig.setAppId("xxxxxxx");
//商户号
wxPayConfig.setMchId("xxxxxx");
//商户私钥
wxPayConfig.setMchKey("xxxxxx");
//设置微信异步回调商户地址
wxPayConfig.setNotifyUrl("http://xxxxxx.natapp1.cc/pay/notify");
BestPayServiceImpl bestPayService = new BestPayServiceImpl();
bestPayService.setWxPayConfig(wxPayConfig);
return bestPayService;
}
}