Spring Cloud Alibaba 教程 | Nacos(三)


使用Nacos作為配置中心

前面我們已經介紹過濾Nacos是一個更易於構建雲原生應用的動態服務發現、配置管理和服務管理平台。所以它可以作為注冊中心和配置中心,作為注冊中心Nacos可以讓我們靈活配置多種環境的參數,使得項目在打包過程中不需要過多的關注目標環境問題,達到項目一次打包,多處運行的目標。今天我們就來介紹一下如何使用Nacos作為配置中心。

Demo

第一步:在Nacos管理平台配置列表菜單選項點擊“+”號新建配置,新建配置之后點擊發布按鈕。

在這里插入圖片描述
在這里插入圖片描述
配置規則

  • dataId :格式如下 ${prefix} - ${spring.profiles.active} . ${file-extension}

  • prefix 默認為 spring.application.name 的值

  • spring.profiles.active 當前環境對應的 profile

  • file-extension 為配置內容的數據格式,可以通過配置項 spring.cloud.nacos.config.file-extension來配置。 目前只支持 properties 類型。

group 默認DEFAULT_GROUP

當activeprofile 為空時直接填寫 spring.application.name值即可 默認properties

在這里插入圖片描述
第二步:新建一個項目(這里使用之前的nacos-provider),pom.xml加入nacos配置中心依賴。

<!--Nacos注冊中心-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

在這里插入圖片描述
第三步:指定配置中心地址。

spring:
  application:
    name: nacos-provider
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.0.127:8848 #注冊中心地址
      config:
        server-addr: 192.168.0.127:8848 #注冊中心地址

server:
  port: 17357

第四步:使用配置中心參數

@SpringBootApplication
@EnableDiscoveryClient
public class NacosProvider {

    public static void main(String[] args) {
        SpringApplication.run(NacosProvider.class,args);
    }
    
    @RestController
    @RefreshScope
    class ConfigController {

        @Value("${config.address}")
        private String address;

        @GetMapping("/print/address")
        public String printAddress(){
            return address;
        }

    }

}

在這里插入圖片描述
第五步:使用@RefreshScope注解之后可以實時刷新Nacos配置中心修改后的參數值。
在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

注意點

Nacos配置中心的配置項會覆蓋在項目中相同鍵的配置項。

關注公眾號了解更多原創博文

![Alt](https://img-blog.csdnimg.cn/20191104123907694.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA3Mzk1NTE=,size_16,color_FFFFFF,t_70#pic_center =591x339)


免責聲明!

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



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