aji*_*eng 1 spring-boot spring-cloud spring-cloud-feign
错误信息如下:
***************************
APPLICATION FAILED TO START
***************************
Description:
Field helloAgent in com.example.client.controller.Hello required a bean of
type 'com.example.common.agent.HelloAgent' that could not be found.
Action:
Consider defining a bean of type 'com.example.common.agent.HelloAgent' in
your configuration.
Run Code Online (Sandbox Code Playgroud)
模块:test-client作为feignclient调用者。
模块:测试服务器作为feignclient接口的实现。
模块:test-common将所有feignclient放在一起。
package com.example.common.agent;
@FeignClient("hello")
public interface HelloAgent {
@GetMapping("/hello")
String hello(@RequestParam String msg);
}
Run Code Online (Sandbox Code Playgroud)
package com.example.server.controller;
@RestController
public class Hello implements HelloAgent {
@Override
public String hello(@RequestParam String msg) {
System.out.println("get " + msg);
return "Hi " + msg;
}
}
Run Code Online (Sandbox Code Playgroud)
package com.example.client.controller;
@RestController
public class Hello {
@Autowired
private HelloAgent helloAgent;
@GetMapping("/test")
public String test() {
System.out.println("go");
String ret = helloAgent.hello("client");
System.out.println("back " + ret);
return ret;
}
}
----------------------------
@EnableEurekaClient
@EnableFeignClients
@SpringBootApplication
@ComponentScan(basePackages = {"com.example.common.agent","com.example.client.controller"})
public class TestClientApplication {
public static void main(String[] args) {
SpringApplication.run(TestClientApplication.class, args);
}
}
Run Code Online (Sandbox Code Playgroud)
无论如何,有没有将所有feignclient放在一起,以便我们可以优雅地管理它们?
还是只有冗余方式可以使用它们?
谢谢!
费恩不知道@ComponentScan
。
使用 @EnableFeignClients(basePackages = {"com.example.common.agent","com.example.client.controller"})
归档时间: |
|
查看次数: |
2827 次 |
最近记录: |