1.1 创建一个maven项目,添加依赖,删除src文件
com.qc.cloud.demo cloud-master 1.0 cloud-config cloud-regist cloud-consumer pom org.springframework.boot spring-boot-starter-parent 2.3.2.RELEASE UTF-8 UTF-8 1.8 Hoxton.SR4 1.7 1.7 org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import com.alibaba.cloud spring-cloud-alibaba-dependencies 2.2.3.RELEASE pom import org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.projectlombok lombok 1.18.22 provided org.springframework.boot spring-boot-devtools junit junit 4.11 test
1.2 新建nacos-config模块,新增依赖
com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test
1.3 在resource文件夹下新建bootstrap.yml文件,配置nacos集群
##项目端口
server:
port: 10010
spring:
application:
#指定当前服务名字
name: nacos-config
cloud:
nacos:
#连接Nacos集群
config:
##集群代理地址(nginx代理地址)
server-addr: 192.168.92.145:80
##名称
name: ${spring.application.name}
##nacos配置中的namespace
namespace: 65cc6807-1077-44c9-aabe-289a2d4c5be2
##文件后缀
file-extension: yml
##群组
group: DEFAULT_GROUP
1.4 新建一个controller类来做接口测试
@RestController
@RequestMapping("config")
@RefreshScope
public class ConfigController {
@Value("${name}")
private String name;
@GetMapping("/refresh")
public String getConfigName(){
return "your name is:"+name;
}
}
1.5 在nacos配置中心进行配置管理
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-STjdKyeL-1652431064023)(https://raw.githubusercontent.com/linglongQaQ/cloudimg/master/img/image-20220216174516349.png)]
##通过修改name的值,请求接口地址,name值时动态变化的 http://localhost:10012/config/refresh=二 实现nacos的服务注册
2.1 新建一个模块,修改pom文件
com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test
2.2 新建一个项目的配置文件
## 端口
server:
port: 10011
## 项目名
spring:
application:
name: nacos-regist
cloud:
nacos:
discovery:
##nacos地址
server-addr: 192.168.92.145:80
##命名空间
namespace: 65cc6807-1077-44c9-aabe-289a2d4c5be2
2.3 启动项目,在nacos的控制台中发现多了一个服务,表明服务注册成功
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N9yp1yQi-1652431064024)(https://raw.githubusercontent.com/linglongQaQ/cloudimg/master/img/image-20220216180302097.png)]
三 实现nacos的服务消费3.1 新建一个模块,修改pom文件
com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery org.springframework.cloud spring-cloud-starter-openfeign org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test
3.2 新建项目配置文件
server:
port: 10012
spring:
application:
name: nacos-consumer
cloud:
nacos:
discovery:
server-addr: 192.168.92.145:80
namespace: 65cc6807-1077-44c9-aabe-289a2d4c5be2
3.3 在注册服务nacos-regist中新增一个测试接口
@RestController
@RequestMapping("regist")
public class NacosRegisterController {
@GetMapping("say")
public String sayHi(@RequestParam String name){
return "Hi "+ name;
}
}
3.4 在服务消费端新增一个服务发现的client
// 服务名称为服务注册模块的名称
@FeignClient("nacos-regist")
public interface NacosFeignClient {
//路径为3.3测试接口的路由
@GetMapping("regist/say")
String say(@RequestParam String name);
}
3.5 服务调用
@RestController
@RequestMapping("consumer")
public class NacosConsumerController {
@Autowired
private NacosFeignClient nacosFeignClient;
@RequestMapping("cus")
public String hello(@RequestParam String name){
return nacosFeignClient.say(name);
}
}
3.6 接口测试
http://localhost:10012/consumer/cus?name=jack
注意:
1.springboot 的版本最好不要低于nacos版本,否则会报错
2.springcloud 版本需要进行适配
3.feign 在传递参数的过程中,有@RequestBody,@RequestParam两种参数类型的注解,是必填项,和springmvc不同,不能进行默认
.say(name);
}
}
3.6 接口测试 ```http http://localhost:10012/consumer/cus?name=jack
注意:
1.springboot 的版本最好不要低于nacos版本,否则会报错
2.springcloud 版本需要进行适配
3.feign 在传递参数的过程中,有@RequestBody,@RequestParam两种参数类型的注解,是必填项,和springmvc不同,不能进行默认



