SpringCloud 教程 之三 服務消費(Feign)
阿新 • • 發佈:2018-11-09
cat artifact 獲取 run println pac tro pro 應用程序
1、啟動服務註冊應用
可參考 SpringCloud 教程 之一 服務註冊與服務發現(Eureka) 創建 springcloud-eureka-server 服務註冊工程,並啟動
2、啟動服務提供者應用
可參考 SpringCloud 教程 之二 服務消費(Ribbon) 創建 springcloud-eureka-provider 服務提供者工程,並啟動
3、創建服務消費工程
3.1、新建 Spring Boot 工程 springcloud-eureka-feign
3.2、工程pom.xml文件添加如下依賴:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>
3.3、在工程啟動類中,添加註解 @EnableDiscoveryClient @EnableFeignClients
package com.miniooc.eurekafeign; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.openfeign.EnableFeignClients; /** * EurekaFeignApplication * 應用程序啟動類,程序入口 * * @author 宋陸 * @version 1.0.0 */ @EnableDiscoveryClient // 激活 Eureka 服務發現配置 @EnableFeignClients // 激活 Feign 配置 @SpringBootApplication public class EurekaFeignApplication { public static void main(String[] args) { SpringApplication.run(EurekaFeignApplication.class, args); } }
3.4、創建服務消費服務類 EurekaFeignService
package com.miniooc.eurekafeign.service; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.RequestMapping; /** * EurekaFeignService * 服務消費服務類,調用服務提供者提供的服務,實現業務 * * @author 宋陸 * @version 1.0.0 */ @FeignClient(value = "eureka-provider") // 調用的微服務的名稱 public interface EurekaFeignService { @RequestMapping(value = "/hello") String feignTest(); }
3.5、創建服務消費控制器類 EurekaFeignController
package com.miniooc.eurekafeign.controller; import com.miniooc.eurekafeign.service.EurekaFeignService; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; /** * EurekaFeignController * 服務消費控制器類,對用戶提供服務 * * @author 宋陸 * @version 1.0.0 */ @RestController public class EurekaFeignController { @Resource private EurekaFeignService eurekaFeignService; @RequestMapping("/hello") public String hello() { String message = eurekaFeignService.feignTest(); System.out.println(message); return "獲取到的信息:" + message; } }
3.6、創建工程配置文件application.yml,添加如下配置:
server: port: 9529 spring: application: name: eureka-feign eureka: client: serviceUrl: defaultZone: http://localhost:9527/eureka/
3.7、啟動服務消費端工程
3.8、打開瀏覽器,訪問服務註冊中心界面 http://localhost:9527
紅框處,可以看到服務消費實例已經註冊到了服務註冊中心,服務名 EUREKA-FEIGN
3.9、新開瀏覽器窗口,訪問 http://localhost:9529/hello,多次刷新該地址
查看服務消費端控制臺信息,紅框處,可以看到服務消費實例成功調用了服務提供者的服務,並實現了負載均衡,輪詢請求不同的服務提供者。
====課程目錄====
SpringCloud 教程 之 SpringCloud概述
SpringCloud 教程 之一 服務註冊與服務發現(Eureka)
SpringCloud 教程 之二 服務消費(Ribbon)
SpringCloud 教程 之三 服務消費(Feign)
微信號:songlu2011
SpringCloud 教程 之三 服務消費(Feign)