SpringCloud H系列 alibaba 2.1.1 (三) nacos1.X 配置中心 客戶端 (配置動態刷新 命名空間配置 多環境配置)

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

 

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章