今天幫同事排查問題,啟動錯誤日志很明顯:就是Springboot啟動時候,發現某個Bean沒有注冊成功,無法納入Bean生命周期的管理。
上下文:
引入第三方jar包,使用對方提供的FeignClient
引入方法
1、pom.xml引入包路徑
2、類中引入Bean,通過@Resource 注入
3、SpringBoot的啟動類中,加入第三包的掃描路徑
@EnableFeignClients(basePackages = { "com.xxx.yyy.zzz.facade.stub.api", "com.xxx.yyy.zzz.facade.stub.api"}
啟動失敗,真實奇怪啊。
因此
解決方案2:
1、pom.xml引入包路徑
2、自定義interface,自定義feignClient(就是把原來的接口復制過來,重命名即可)
2、類中引入Bean,通過@Autowired 注入新的interface
4、SpringBoot的啟動類中,加入新寫的interface的掃描路徑
啟動成功,正常可以同個eureke發起http請求。
這就奇怪了,這是一樣的套路啊,為啥方案1的引入方法就不行???
仔細比對,終於發現了問題之所在!!!!
原來是FeignClient 是不同的引入啊!
mark一記!!!!引入第三方包,要仔細確認FeignClient類路徑