请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

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

@Bean
public BestPayService BestPayService()

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

0 回复 有任何疑惑可以回复我~
  • 提问者 网络时空 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-04-21 15:02:20
  • qq_慕桂英4403050 回复 提问者 网络时空 #2
    请问是要保持@Bean的类名和@Autowired类名一致吗?
    回复 有任何疑惑可以回复我~ 2022-08-09 21:14:17
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信