SpringCloud H系列 alibaba 2.1.1 (三) nacos1.X 配置中心 客户端 (配置动态刷新 命名空间配置 多环境配置)

1.nacos安装

请参考 : docker 安装 nacos 1.X

2.项目父工程

请参考 : SpringCloud H系列 alibaba 2.1.1 (一) nacos1.X 注册中心 服务端

3.项目结构

SpringCloud H系列 alibaba 2.1.1 (三) nacos1.X 配置中心 客户端 (配置动态刷新 命名空间配置 多环境配置)_第1张图片

4.创建配置中心客户端子工程

pom.xml  工程文件

    
        com.alibaba
        spring-cloud-hoxton
        1.0
    
    alibaba-nacos-config-client
    1.0
    jar


    
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-config
        
    

在nacos web管理端创建 application-nacos.yml 配置文件

SpringCloud H系列 alibaba 2.1.1 (三) nacos1.X 配置中心 客户端 (配置动态刷新 命名空间配置 多环境配置)_第2张图片

SpringCloud H系列 alibaba 2.1.1 (三) nacos1.X 配置中心 客户端 (配置动态刷新 命名空间配置 多环境配置)_第3张图片

指定端口号为 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

SpringCloud H系列 alibaba 2.1.1 (三) nacos1.X 配置中心 客户端 (配置动态刷新 命名空间配置 多环境配置)_第4张图片

访问测试接口读取配置文件中的端口

SpringCloud H系列 alibaba 2.1.1 (三) nacos1.X 配置中心 客户端 (配置动态刷新 命名空间配置 多环境配置)_第5张图片

简单配置成功 

 

这时更改 nacos 配置文件中的 端口为 9000

查看文件是否会动态刷新

SpringCloud H系列 alibaba 2.1.1 (三) nacos1.X 配置中心 客户端 (配置动态刷新 命名空间配置 多环境配置)_第6张图片

刷新测试接口查看内容是否改变

SpringCloud H系列 alibaba 2.1.1 (三) nacos1.X 配置中心 客户端 (配置动态刷新 命名空间配置 多环境配置)_第7张图片

动态刷新成功(虽然配置文件改成了9000,但项目启动时已经指定为8000,所以需要重启应用,方可生效)

5.命名空间 与 多环境配置

创建新命名空间 dev 记住命名空间ID

SpringCloud H系列 alibaba 2.1.1 (三) nacos1.X 配置中心 客户端 (配置动态刷新 命名空间配置 多环境配置)_第8张图片

在 dev 空间下 创建 application-nacos-dev.yml  开发环境配置文件  与  application-nacos-prod.yml  正式环境配置文件

SpringCloud H系列 alibaba 2.1.1 (三) nacos1.X 配置中心 客户端 (配置动态刷新 命名空间配置 多环境配置)_第9张图片

 application-nacos-dev.yml 配置端口为 8002

SpringCloud H系列 alibaba 2.1.1 (三) nacos1.X 配置中心 客户端 (配置动态刷新 命名空间配置 多环境配置)_第10张图片

 application-nacos-prod.yml 配置端口为 8012 

SpringCloud H系列 alibaba 2.1.1 (三) nacos1.X 配置中心 客户端 (配置动态刷新 命名空间配置 多环境配置)_第11张图片

修改 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

SpringCloud H系列 alibaba 2.1.1 (三) nacos1.X 配置中心 客户端 (配置动态刷新 命名空间配置 多环境配置)_第12张图片

 指定 环境为prod 启动应用查看 端口是否为 8012

 

项目已上传到gitee

地址: spring-cloud-alibaba-H-demo

如果帮到您了,请帮忙点个star

 

 

你可能感兴趣的:(springcloud经验总结,SpringCloud,H系列,alibaba,2.1.1,nacos1.X,配置中心,客户端,nacos,配置中心,配置动态刷新,命名空间配置,多环境配置)