- 1. 运行nacos
- 1.1启动nacos
- 1.2查看网站
- 2.建立父项目,子模块provider,consumer
- 2.1建立父项目springcloud-study
- 2.2 建立子模块nacos-provider
- 2.3 添加子模块nacos-consumer
- 2.4注意SpringBoot和SpringCloud的版本要匹配
- 3.子模块进行配置
- 3.1配置
- 3.1.1 nacos-provider配置
- 3.1.2 nacos-consumer配置
- 3.1.3额外
- 3.2 运行,网站查看
- 4.编写controller,及远程调用feign
- 4.1 nocas-provider
- 4.2 nocas-consumer
- 5.测试
首先安装nacos,安装完成后,到bin目录下启动startup.cmd(我是windows)
1.2查看网站访问
http://localhost:8848/nacos
用户名:
nacos
密码:
nacos
登陆成功,展示如图
删除多余的文件
添加如下依赖springboot相关
org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-devtools runtime true org.springframework.cloud spring-cloud-starter-alibaba-nacos-discovery 0.2.2.RELEASE org.springframework.boot spring-boot-starter-test test
springcloud相关依赖
2.3 添加子模块nacos-consumerorg.springframework.cloud spring-cloud-dependencies 2021.0.3 pom import
添加SpringBoot相关的依赖
org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-starter-alibaba-nacos-discovery 0.2.2.RELEASE org.springframework.cloud spring-cloud-starter-netflix-ribbon org.springframework.cloud spring-cloud-starter-openfeign org.springframework.cloud spring-cloud-starter-loadbalancer com.github.ben-manes.caffeine caffeine 2.8.8 org.springframework.boot spring-boot-devtools runtime true org.springframework.boot spring-boot-starter-test test
SpringCloud相关的依赖
2.4注意SpringBoot和SpringCloud的版本要匹配org.springframework.cloud spring-cloud-dependencies 2021.0.3 pom import
具体可以看这篇博客
SpringBoot和SpringCloud版本比匹配报错解决方式
1.启动类上添加服务注册发现注解
@EnableDiscoveryClient //开启服务注册发现功能
2.配置文件application.properties
server.port=8070 #nacos服务地址 spring.application.name=nacos-provider spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 #指定热部署端口,具体视自己情况而定,只要不重复就可以 spring.devtools.livereload.port=357293.1.2 nacos-consumer配置
1.启动类上添加注解
@EnableDiscoveryClient //开启服务注册发现功能 @EnableFeignClients //远程调用
2.配置文件application.properties
server.port=8071 spring.application.name=nacos-consumer # nacos服务地址 spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 #一个项目启动多个项目执行热部署时,热部署的35729端口会重复,因此指定端口。具体视自己情况而定,只要不重复就可以 spring.devtools.livereload.port=357303.1.3额外
为避免警告两个子模块的resources目录下都建立
config.properties
文件
这个是到时候被nacos-cosumer通过feign调用的方法
@RestController
@RequestMapping("/nacos/provider")
public class ProviderController {
@RequestMapping("/hello")
public String hello(){
return "你好,我是服务提供者nacos-provider";
}
}
4.2 nocas-consumer
ProviderFeign接口
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
@FeignClient(name = "nacos-provider")//指定远程调用方的名字
public interface ProviderFeign {
@RequestMapping("/nacos/provider/hello")//路径一定写全路径
public String hello();
}
ConsumerController类
@RequestMapping("/nacos/consumer")
@RestController
public class ConsumerController {
@Resource
private ProviderFeign providerFegin;
@RequestMapping("/hello-provider")
public String hi(){
return providerFegin.hello();
}
}
5.测试



