当前位置: 首页 > news >正文

Feign服务注册到nacos 2.2.3

文章目录

  • 前言
  • 一、父POM
  • 二、服务端
    • 1.POM
    • 2. Java代码
    • 3. Yaml
  • 三、客户端
    • 1.POM
    • 2.Java代码
    • 3. Yaml


前言

环境:
jdk1.8
spring boot:2.6.15
spring cloud:2021.0.9
spring cloud alibaba:2021.0.5.0
nacos server:2.2.3


一、父POM

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.test.demo</groupId><artifactId>nacos-demo</artifactId><version>1.0-SNAPSHOT</version><packaging>pom</packaging><name>nacos-demo</name><url>http://maven.apache.org</url><modules><module>backend-service</module><module>front-service</module></modules><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.6.15</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>2021.0.9</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2021.0.5.0</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>
</project>

二、服务端

1.POM

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.test.demo</groupId><artifactId>nacos-demo</artifactId><version>1.0-SNAPSHOT</version></parent><artifactId>backend-service</artifactId><packaging>jar</packaging><name>backend-service</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency></dependencies>
</project>

2. Java代码

启动类

@SpringBootApplication
@EnableDiscoveryClient
public class BackendApplication {public static void main(String[] args) {SpringApplication.run(BackendApplication.class);}
}

服务端代码,提供正常的rest风格的接口即可。

3. Yaml

server:port: 12221
spring:cloud:nacos:discovery:server-addr: localhost:8848application:name: backend-service

三、客户端

1.POM

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.test.demo</groupId><artifactId>nacos-demo</artifactId><version>1.0-SNAPSHOT</version></parent><artifactId>front-service</artifactId><packaging>jar</packaging><name>front-service</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId></dependency></dependencies>
</project>

2.Java代码

启动类

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class FrontApplication {public static void main(String[] args) {SpringApplication.run(FrontApplication.class);}
}

定义Feign客户端

@FeignClient(name="backend-service")  // 与服务名相同
public interface FeignTestClient {@GetMapping("/listUsers/")void listUsers();
}

入口

@RestController
@RequestMapping("/api")
public class FeignController {@Autowiredprivate FeignTestClient feignTestClient;@GetMapping("/testListUsers")public void testListUsers() {feignTestClient.listUsers();}
}

3. Yaml

server:port: 12222
spring:cloud:nacos:discovery:server-addr: localhost:8848application:name: front-service

相关文章:

  • Spring中过滤器 RequestContextFilter 和 OncePerRequestFilter 的区别
  • 基于CNN的OFDM-IM信号检测系统设计与实现
  • Linux(8)——进程(控制篇——上)
  • JS浮点数精度问题
  • TypeScript 中高级类型 keyof 与 typeof的场景剖析。
  • 共享签名是什么
  • 打破建筑管理壁垒,IBMS智能系统赋能现代建筑协同增效
  • AUTOSAR图解==>AUTOSAR_SWS_MCUDriver
  • WWW22-可解释推荐|用于推荐的神经符号描述性规则学习
  • 基于NetWork的类FNAF游戏DEMO框架
  • 在 Android 上备份短信:保护您的对话
  • 项目管理工具Maven
  • 四、关系数据库标准语言SQL_2
  • 使用 Fetch + Streams 处理流式响应(Streaming Response)
  • 【空间光学系统与集成微纳光子学系统简介】
  • Proteus寻找元器件(常见)
  • 带你手写React中的useReducer函数。(底层实现)
  • ESP8266远程控制:实现网络通信与设备控制
  • Nginx网站服务:从入门到LNMP架构实战
  • 日志技术-LogBack、Logback快速入门、Logback配置文件、Logback日志级别
  • 电信网站备案流程图/网站搜索优化价格
  • 做英文网站建设/百度榜
  • dreameaver注册用户网站怎么做/深圳百度推广seo公司
  • 建筑行业新闻资讯/安徽百度seo公司
  • 如何做内部优惠券网站/掌门一对一辅导官网
  • 网站关键词怎么布局/网站建设苏州