Nacos-Spring-Cloud简单实例
前提条件
Nacos server 正常启动
添加依赖
1 | // https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-context |
注意:版本 2.1.x.RELEASE 对应的是 Spring Boot 2.1.x 版本。版本 2.0.x.RELEASE 对应的是 Spring Boot 2.0.x 版本。版本 1.5.x.RELEASE 对应的是 Spring Boot 1.5.x 版本。
建议Spring Boot 2.3.12.RELEASE 版本
新建bootstrap.yml配置
1 | spring: |
配置 spring.application.name
,构成 Nacos 配置管理 dataId
字段的一部分。
在 Nacos Spring Cloud 中,dataId
的完整格式如下:
1 | ${prefix}-${spring.profiles.active}.${file-extension} |
prefix
默认为spring.application.name
的值,也可以通过配置项spring.cloud.nacos.config.prefix
来配置。spring.profiles.active
即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当spring.profiles.active
为空时,对应的连接符-
也将不存在,dataId 的拼接格式变成${prefix}.${file-extension}
file-exetension
为配置内容的数据格式,可以通过配置项spring.cloud.nacos.config.file-extension
来配置。目前只支持properties
和yaml
类型。
ConfigController实现
1 |
|
ConfigController测试
向 Nacos Server 发布配置:dataId 为
example.properties
,内容为useLocalCache=true
dataId = 应用名称 + 配置扩展
curl -X POST “http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=example.properties&group=DEFAULT_GROUP&content=useLocalCache=true"get配置
curl http://localhost:8080/config/get
服务注册与调用
配置服务提供者
1 | spring: |
服务提供者启动类实现
1 | // 启动类增加注解 |
服务提供者实现
1 |
|
配置服务消费者
1 | spring: |
服务消费者启动类实现
1 |
|
服务消费者实现
1 |
|
测试
启动服务提供者和服务消费者
curl http://localhost:8080/echo/2018
return: Hello Nacos Discovery : 2018