mik*_*ker 13 spring-boot microservices spring-cloud-feign
我正在尝试运行该应用程序,但不断提示此错误。
描述:
com.clientui.clientui.controller.ClientController 中构造函数的参数 0 需要类型为“org.springframework.cloud.openfeign.FeignContext”的 bean,但无法找到。
行动:
考虑在配置中定义“org.springframework.cloud.openfeign.FeignContext”类型的 bean。
这是代码:
主要的
package com.clientui.clientui;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@SpringBootApplication
@EnableFeignClients("com.clientui")
public class ClientuiApplication {
public static void main(String[] args) {
SpringApplication.run(ClientuiApplication.class, args);
}
}
Run Code Online (Sandbox Code Playgroud)
控制器
package com.clientui.clientui.controller;
import com.clientui.clientui.beans.ProductBean;
import com.clientui.clientui.proxies.MicroserviceProduitsProxy;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
@Controller
public class ClientController {
private final MicroserviceProduitsProxy produitsProxy;
public ClientController(MicroserviceProduitsProxy produitsProxy){
this.produitsProxy = produitsProxy;
}
@RequestMapping("/")
public String accueil(Model model){
List<ProductBean> produits = produitsProxy.listeDesProduits();
model.addAttribute("produits", produits);
return "Accueil";
}
}
Run Code Online (Sandbox Code Playgroud)
小智 30
我在将 spring-boot 版本更新到 3.0.0 时遇到了同样的问题,我认为这是与 spring cloud 和 spring boot 自动配置的一些兼容性错误。@ImportAutoConfiguration({FeignAutoConfiguration.class})我通过在应用程序中添加注释解决了这个问题,在您的情况下:
import org.springframework.cloud.openfeign.FeignAutoConfiguration;
@SpringBootApplication
@EnableFeignClients("com.clientui")
@ImportAutoConfiguration({FeignAutoConfiguration.class})
public class ClientuiApplication {
public static void main(String[] args) {
SpringApplication.run(ClientuiApplication.class, args);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20429 次 |
| 最近记录: |