SpringCloud使用Feign
第一步:导入maven
// <!--引入feign jar包-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>2.0.0.M1</version>
</dependency>
第二步:编写配置文件
#服务名称
spring.application.name=feign-consumer
#端口号
server.port=8081
#在注册中心进行注册
eureka.client.serviceUrl.defaultZone=http://localhost:1000/eureka/
#启动服务发现的功能,开启了才能调用其他服务
spring.cloud.config.discovery.enabled=true
#发现服务的名字--对应注册中心的服务名字
spring.cloud.config.discovery.serviceId=compute-service
第三步:编写启动类的注解
@SpringBootApplication
@EnableEurekaServer
@EnableFeignClients
public class SpringcloudFeignApplication {
public static void main(String[] args) {
SpringApplication.run(SpringcloudFeignApplication.class, args);
}
}
第四步:编写feign接口调用其他服务
@FeignClient(value = "provider")//服务名,不区分大小写
public interface FeignService {
@RequestMapping("/testfeign")
public String testFeign(@RequestParam String name);//传入对应参数
}
生产者提供的方法:(再去创建一个类)
public class testFeign {
@RequestMapping("/testfeign")
public String testFeign(@RequestParam String name){
return name + 1;
}
}
第五步:来到Controller调用
@RestController
public class FeignController {
@Autowired //注入对象调用
private FeignService feignService;
@RequestMapping("/testfeign")
public String test(@RequestParam String name){
System.out.print("1");
return feignService.testFeign(name);
}
}