SpringCloud系列---【SpringBoot集成openfeign完成远程调用】
1.引入pom.xml
<!-- 假设已在 dependencyManagement 中定义 Spring Cloud 和 Alibaba Cloud 版本 -->
<dependencies>
<!-- Web Starter 这里spring-boot-starter-parent我用的是3.3.12-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Nacos Discovery Starter (用于服务发现) -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- LoadBalancer Starter (必须, 为 RestTemplate 提供负载均衡能力) -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>2023.0.1.3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2023.0.1.3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
2.配置nacos配置
nacos为openfeign提供负载均衡的能力,如果是单节点也可以不加nacos,直接在@FeignClient(name="test",url="http://localhost:8080"),配置url即可。@EnableDiscoveryClient这个注解在新版本中,只要有相关依赖,这个注解就可以省略。
spring:
cloud:
nacos:
server-addr: 127.0.0.1:8848
username: nacos
password: nacos
discovery:
metadata:
zone: SH
3.配置restTemplate
@Configuration
public class RedisTemplateConfig {
@Bean
@LoadBalanced
public ResTemplate redisTemplate(){
return new ResTemplate();
}
}
4.写@FeignClient(name="test",url="http://localhost:8080")远程调用类
愿你走出半生,归来仍是少年!
浙公网安备 33010602011771号