SpringCloudAlibaba(四)——配置中心及自動刷新


配置中心及自動刷新

配置中心configclient開發

nacos作為統一配置中心:
1.它管理的配置文件方式是在自己所在的服務器上形成一個版本庫,因此不需要再創建遠程版本庫
2.nacos作為統一配置中心管理配置文件時,同樣也存在版本控制

1、創建一個config客戶端子模塊springcloudAlibaba-config-client-8888

image

2、導入相關依賴

    <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-discovery</artifactId>
        </dependency>
        <!--nacos config client-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
    </dependencies>

3、編寫主啟動類

package com.study.springcloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ConfigClientApplication_8888 {
    public static void main(String[] args) {
        SpringApplication.run(ConfigClientApplication_8888.class,args);
    }
}

4、進入nacos管理頁面添加配置文件

  • 1.新建命名空間
    image

  • 2.輸入命名空間信息
    image

  • 3.點擊 配置管理,再點擊 配置列表
    image

  • 4.選擇study命名空間
    image

  • 5.點擊+按鈕
    image

  • 6.編輯配置文件
    image

  • 7.編輯完成點 發布
    image

5、編寫bootstrap.properties配置文件,拉取遠端配置

#告訴config server地址
spring.cloud.nacos.server-addr=localhost:8848
#告訴從哪個命名空間獲取配置
spring.cloud.nacos.config.namespace=f15dc566-c615-4dbe-88f9-0c812ea6e2f6
#告訴從哪個組進行配置獲取
spring.cloud.nacos.config.group=DEFAULT_GROUP

#第一種拉取遠端配置文件方式
#從哪個組拉取哪個配置文件
spring.cloud.nacos.config.name=configclient-dev
#拉取這個名字的哪個后綴文件
spring.cloud.nacos.config.file-extension=properties

#第一種拉取遠端配置文件方式
#spring.cloud.nacos.config.prefix=configclient
#spring.profiles.active=dev
#spring.cloud.nacos.config.file-extension=properties

6、編寫controller層

package com.study.springcloud.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class DemoController {

    @Value("${constomer.username}")
    private String username;

    @GetMapping("/demo")
    public String demo(){
        return "demo ok!!!"+username;
    }
}

7、啟動測試

image

配置自動刷新

1、在controller層添加@RefreshScope實現自動刷新

image

2、修改遠端配置文件

image

3、重新訪問

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM