創建兩個工程,一個是nacos-provider, 另一個是naocos-consumer;
添加依賴
<properties> <java.version>1.8</java.version> <spring.boot.version>2.1.13.RELEASE</spring.boot.version> <alibaba.cloud.version>2.1.2.RELEASE</alibaba.cloud.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> </dependencies> <dependencyManagement> <dependencies> <!--SpringCloud的依賴--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Greenwich.SR5</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> <!--SpringBoot的依賴--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>${spring.boot.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!--SpringCloud Alibaba的依賴--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>${alibaba.cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencyManagement>
- provider部分代碼
@RestController public class ProviderController { @GetMapping("invoke") public String invoke() { return LocalTime.now() + " invoke; } }
application.yml
server: port: 8070 spring: application: name: nacos-provider cloud: # nacos服務地址 nacos: server-addr: 127.0.0.1:8848
在啟動類上添加@EnableDiscoveryClient注解
- consumer部分代碼
@RestController public class ConsummerController { @Autowired private ProviderFeign providerFeign; @GetMapping("/test") public String test() { return providerFeign.invoke(); } }
@FeignClient("nacos-provider") public interface ProviderFeign { @GetMapping("invoke") String invoke(); }
application.yml
server: port: 8071 spring: application: name: nacos-consumer cloud: # nacos服務地址 nacos: server-addr: 127.0.0.1:8848
在啟動類添加@EnableFeignClients,@EnableDiscoveryClient注解
調用結果:
文檔:https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-discovery