BestPayService BestPayService()为什么必须取此方法名

来源:7-9 支付-微信异步通知-3

网络时空

2020-04-17

师兄,下午好~
我刚看视频的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;
}

}
图片描述

写回答

1回答

廖师兄

2020-04-21

@Bean
public BestPayService BestPayService()

没错,就是因为@Bean,名字要对应上。你这里写错了,方法名用小写开头。@Bean的名字和@Autowired要对应上

0
2
qq_慕桂英4403050
回复
网络时空
请问是要保持@Bean的类名和@Autowired类名一致吗?
2022-08-09
共2条回复

实战支付+电商双系统 玩转Java技术栈

花一份课的价,收获:双系统实战+坐拥20K+粉的师兄指导,值~

2048 学习 · 1048 问题

查看课程