1、安装nacos服务端
下载nacos之后解压并启动
Nacos默认端口是8848
2、配置maven坐标信息
2.1 配置坐标管理
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
2.2 配置nacos坐标
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2.3 配置nacos服务地址
spring:
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
# 服务名称
application:
name: gulimall-coupon
2.4 配置开启注册发现
使用
@EnableDiscoveryClient
注解开启注册发现
2.5 启动项目
2.6 浏览器输入 http://127.0.0.1:8848/nacos
输入用户名和密码 nacos/nacos
,可以发现服务都注册上去了
3、开启远程调用
比如会员服务调用优惠券服务
3.1 配置远程访问依赖管理坐标
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
3.2 配置openfeign坐标
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
3.3 编写对应的远程访问接口包
注意远程调用的接口的方法签名要写完整的签名,例如:
/coupon/coupon/member/list
@FeignClient("gulimall-coupon")
@SuppressWarnings("all")
public interface CouponFeignService {
@RequestMapping("/coupon/coupon/member/list")
public R getMemberCoupons();
}
3.4 开启远程调用并配置远程调用扫描的包
@EnableFeignClients
注解里边的basePackages
参数指定需要进行扫描的包
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients(basePackages = {"com.cc.gulimall.member.feign"})
public class GulimallMemberApplication {
public static void main(String[] args) {
SpringApplication.run(GulimallMemberApplication.class, args);
}
}
3.5 远程调用原始接口(优惠卷服务)
@RestController
@RequestMapping("coupon/coupon")
public class CouponController {
@Autowired
private CouponService couponService;
@RequestMapping("/member/list")
public R getMemberCoupons() {
CouponEntity couponEntity = new CouponEntity();
couponEntity.setCouponName("满100减10");
couponEntity.setNote("xxxx");
return R.ok().put("coupons",Arrays.asList(couponEntity));
}
3.6 浏览器访问 http://localhost:8000/member/member/coupons
标签:feign,调用,SpringBoot,coupon,spring,nacos,远程,cloud From: https://www.cnblogs.com/ccblblog/p/17909581.html说明调用成功