首頁  >  文章  >  Java  >  Springboot之nocos整合與使用的方法

Springboot之nocos整合與使用的方法

WBOY
WBOY轉載
2023-05-21 15:32:091266瀏覽

前言

Nacos 致力於協助您發現、設定和管理微服務。 Nacos可提供一系列簡單易用的功能,協助您快速實現動態服務發現、設定、元資料與流量管理。

Nacos 幫助您更敏捷和輕鬆地建置、交付和管理微服務平台。 Nacos是用於建構服務中心化現代化應用架構(例如微服務範例和雲端原生範例)的基礎設施

#1,  建立工程

先建立maven工程,父工程pom如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.example</groupId>
    <artifactId>configDemo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.2.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.2.5.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>

2,啟動nacos-server服務

存取的url是:http://localhost:8848/nacos/ 預設連接埠是8848,帳號密碼是:nacos/nocos

3,寫controller進行動態設定生效

import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * @author yhq
 * @version 1.0
 * @date 2022/7/15 19:07
 */
@RestController
@RefreshScope  //@RefreshScope:需要配置这个才能动态更新配置。
public class TestController {
    @Value("${name}")
    private String name;
    @GetMapping("/getName")
    public String test(){
        return name;
    }
}

4,新增設定檔boostrap.yaml

springboot預設載入設定檔順序:

bootstrap.properties -> ; bootstrap.yml -> application.properties -> application.yml 其中bootstrap.properties 配置為最高優先級先加載的會被後加載的覆蓋掉,所以.properties和.yml同時存在時,.properties會失效,.yml會起作用。 」

#連接埠
server:
  port: 8888
#設定專案名稱
spring:
  application:
    #configdemo預設是nacos的DateId名稱
    name: configdemo
  #指定test的設定檔
  profiles:
    active: test
  cloud:
    nacos:
  addr: host config:
    nacos:
 :8848
        #載入yaml的nacos檔案

        file-extension: yaml

#可以看到啟動時載入了檔案如下:

Springboot之nocos整合與使用的方法

Springboot之nocos整合與使用的方法

###########################1 ####5,nacos設定######設定了configdemo和configdemo-test.yaml######注意的是:它的載入規則是:# 1.DataId#######-用來讀取遠端配置中心的中具體設定檔其完整格式如下:######- ${prefix}-${spring.profile.active}.${file-extension}###### a. prefix 預設為spring.application.name 的值,也可以透過設定項spring.cloud.nacos.config.prefix來設定。######b. spring.profile.active 即為目前環境對應的profile ,詳情可以參考Spring Boot文檔。注意:當spring.profile.active 為空時,對應的連接符- 也將不存在,dataId 的拼接格式變成${prefix}.${file-extension}### ###c. file-exetension 為配置內容的資料格式,可以透過設定項spring.cloud.nacos.config.file-extension 來設定。目前只支援properties 和yaml 類型。######如果configdemo和configdemo-test.yaml 都存在name的配置,優先configdemo-test.yaml######存取結果如下:############

以上是Springboot之nocos整合與使用的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除