1.nacos安装
请参考 : docker 安装 nacos 1.X
2.项目父工程
请参考 : SpringCloud H系列 alibaba 2.1.1 (一) nacos1.X 注册中心 服务端
3.项目结构
4.创建配置中心客户端子工程
pom.xml 工程文件
<parent>
<groupId>com.alibaba</groupId>
<artifactId>spring-cloud-hoxton</artifactId>
<version>1.0</version>
</parent>
<artifactId>alibaba-nacos-config-client</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
</dependencies>
在nacos web管理端创建 application-nacos.yml 配置文件
指定端口号为 8000
bootstrap.yml 是优先级比 application.yml 高一档的配置文件 springboot 会优先读取
spring:
application:
# 应用名称
name: alibaba-nacos-config-client
cloud:
nacos:
config:
# 配置中心地址
server-addr: 192.168.1.141:8848
# 文件后缀
file-extension: yml
# 文件前缀
prefix: application-nacos
TestApplication.java 启动类
@SpringBootApplication
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
}
TestController.java 测试接口 读取nacos中的配置文件中的端口号并返回
@Slf4j
@RestController
@RefreshScope // nacos 配置自动刷新
public class TestController {
// 从 nacos 获取端口号
@Value("${server.port:}")
private String port;
@GetMapping("/test")
public String test() {
return "端口:"+port;
}
}
启动应用查看端口是否为nacos 中所配置的8000
访问测试接口读取配置文件中的端口
简单配置成功
这时更改 nacos 配置文件中的 端口为 9000
查看文件是否会动态刷新
刷新测试接口查看内容是否改变
动态刷新成功(虽然配置文件改成了9000,但项目启动时已经指定为8000,所以需要重启应用,方可生效)
5.命名空间 与 多环境配置
创建新命名空间 dev 记住命名空间ID
在 dev 空间下 创建 application-nacos-dev.yml 开发环境配置文件 与 application-nacos-prod.yml 正式环境配置文件
application-nacos-dev.yml 配置端口为 8002
application-nacos-prod.yml 配置端口为 8012
修改 bootstrap.yml 配置 增加 多环境指定 与 命名空间ID
spring:
application:
# 应用名称
name: alibaba-nacos-config-client
cloud:
nacos:
config:
# 配置中心地址
server-addr: 192.168.1.141:8848
# 文件后缀
file-extension: yml
# 文件前缀
prefix: application-nacos
# 命名空间ID
namespace: 21c7d9a6-4b92-4313-b28b-7ba5a9328902
profiles:
# 环境指定为dev
active: dev
# 环境指定为prod
# active: prod
指定 环境为dev 启动应用查看 端口是否为 8002
指定 环境为prod 启动应用查看 端口是否为 8012
项目已上传到gitee
地址: spring-cloud-alibaba-H-demo
如果帮到您了,请帮忙点个star