SpringBoot 集成 Nacos

目錄

  • 一、前言
  • 二、Nacos集成
    • 1、引入Nacos依賴
    • 2、設置Nacos配置
    • 3、加載Nacos配置中心配置項
    • 4、Nacos集成驗證
    • 5、Nacos配置中心配置項動態生效


Nacos安裝詳見:Spring Cloud 系列之 Nacos 配置中心


一、前言

上一篇已經講解了怎樣安裝安裝、啟動、配置 Nacos,這篇我們講解如何在項目中使用 Nacos

還不了解 Nacos 的詳見:Spring Cloud 系列之 Nacos 配置中心

在集成 Nacos 之前,首先我們要先創建一個 Spring Boot 項目:IDEA 創建 SpringBoot 項目


二、Nacos集成

1、引入Nacos依賴

<dependencies><!-- nacos --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><version>2.2.1.RELEASE</version></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>2.2.1.RELEASE</version></dependency>
<dependencies>

注:Spring Boot版本要低于2.4,否則啟動應用會報錯。
在這里插入圖片描述


2、設置Nacos配置

項目中默認配置文件是 application.propertiesNacos 配置加在此配置文件中的話,應用啟動會報連接 Nacos 失敗,我們需要創建 bootstrap.propertiesbootstrap.yml 配置文件(添加任意一個即可),下面我們以 bootstrap.properties 為例:

spring.application.name=apm-mobile-android
spring.cloud.nacos.username=nacos
spring.cloud.nacos.password=nacos
spring.cloud.nacos.server-addr=10.0.7.115:18117spring.cloud.nacos.discovery.namespace=PROD
spring.cloud.nacos.config.namespace=PROD
spring.cloud.nacos.config.timeout=3000
spring.cloud.nacos.config.refresh-enabled=truespring.cloud.nacos.config.group=apm
spring.cloud.nacos.config.prefix=${spring.application.name}
spring.cloud.nacos.config.file-extension=propertiesspring.cloud.nacos.config.shared-configs[0].group=apm
spring.cloud.nacos.config.shared-configs[0].data-id=apm-mobile-android.properties
spring.cloud.nacos.config.shared-configs[0].refresh=truespring.liquibase.enabled=false

在這里插入圖片描述


3、加載Nacos配置中心配置項

在初始化類中添加 @EnableDiscoveryClient 注解即可:

package com.example.springbootdemo;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;@EnableDiscoveryClient
@SpringBootApplication
public class SpringbootdemoApplication {public static void main(String[] args) {SpringApplication.run(SpringbootdemoApplication.class, args);new BootstrapManager();}}

在這里插入圖片描述


4、Nacos集成驗證

Nacos配置如下:

在這里插入圖片描述

啟動應用,然后訪問:http://localhost:8085/hello

出現如下界面說明加載Nacos配置成功。

在這里插入圖片描述


5、Nacos配置中心配置項動態生效

需要在配置對象中添加 @RefreshScope 注解,然后重啟應用。

package com.example.springbootdemo.config;import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;@Data
@Component
@Configuration
@RefreshScope
public class GlobalConfig {@Value("${data.domain:http://10.0.0.1:18080}")private String dataDomain;@Value("${log.level:DEBUG}")private String logLevel;
}

在這里插入圖片描述

重啟后,訪問:http://localhost:8085/hello

在這里插入圖片描述

Nacos 配置中的 log.level 修改為 DEBUG ,然后重新訪問:http://localhost:8085/hello,出現如下界面說明 Nacos 配置動態生成成功。

在這里插入圖片描述


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/446728.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/446728.shtml
英文地址,請注明出處:http://en.pswp.cn/news/446728.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++primer第八章 IO庫 8.3string流

8.3string流 sstream頭文件定義了三個類型來支持內存IO,這些類型可以向string寫入數據,從string讀取數據&#xff0c;就像string是一個IO流一樣。istringstream從string讀取數據&#xff0c;ostringstream向string寫入數據&#xff0c;而頭文件stringstream既可從string讀數據…

英語口語海報演講--東軟

海報 海報上的內容 Nuclear waste water 1.Damage the devastating impact of nuclear radiation on the world 2.Marine life genetically mutated or dead 3.water resources polluted water resources 4.the future of humanity genetic damage/food and environment destr…

Java中 List、Set、Map遍歷方式以及性能比較

目錄一、簡介二、遍歷方式1、ArrayList遍歷方式&#xff08;1&#xff09;for循環遍歷&#xff08;2&#xff09;foreach循環遍歷&#xff08;3&#xff09;Iterator迭代器遍歷2、LinkedList遍歷方式&#xff08;1&#xff09;for循環遍歷&#xff08;2&#xff09;foreach循環…

codeforces 263A-C語言解題報告

263A題目網址 題目解析 1.輸入5*5的矩陣(下標從到5),包含24個0和一個1,問如何移動最小的次數(i相鄰行或列)可以讓1位于3行3列 舉例: 輸入: 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 輸出: 3 注意點 1.因為數組是從0開始的,所以減2就行 row-2col-2 2.使用整型二維…

一個DEMO讓你徹底理解線程池

目錄一、簡介二、線程池任務場景場景一&#xff1a;提交5個任務&#xff0c;執行總耗時500ms場景二&#xff1a;提交10個任務&#xff0c;執行總耗時500ms場景三&#xff1a;提交11個任務&#xff0c;執行總耗時1000ms場景四&#xff1a;提交20個任務&#xff0c;執行總耗時100…

C++primer第九章 順序容器 9.1 順序容器概述 9.2容器庫概覽

一個容器就是一些特定類型對象的集合。順序容器(sequentialcontainer)為程序員提供了控制元素存儲和訪問順序的能力。這種順序不依賴于元素的值&#xff0c;而是與元素加入容器時的位置相對應。與之相對的&#xff0c;我們將在第11章介紹的有序和無序關聯容器&#xff0c;則根據…

SpringBoot 啟動報錯:Failed to configure a DataSource: ‘url‘ attribute is not specified and no emb

目錄一、報錯日志二、原因分析三、問題排查四、解決方案方案一&#xff1a;如果項目不需要數據庫相關信息就排除此類的autoconfig方案二&#xff1a;配置文件添加數據庫鏈接信息方案三&#xff1a;配置pom.xml中yml或者properties掃描一、報錯日志 **************************…

codeforces 339A-C語言解題報告

339A題目網址 題目解析 1.輸入如321的式子,升序排序(從小到大)成123 舉例: 輸入: 11313 輸出: 11133 2.對字符串進行排序采取拍冒泡排序算法 char c0; for(i0;i<strlen(s)-1;i) {for(j0;j<strlen(s)-1;j){if(s[j]>s[j1]){cs[j];s[j]s[j1];s[j1]c;}} }代碼 #includ…

C++primer第九章 順序容器 9.3 順序容器操作

9.3順序容器操作 順序容器和關聯容器的不同之處在于兩者組織元素的方式。這些不同之處直接關系到了元素如何存儲、訪問、添加以及刪除。上一節介紹了所有容器都支持的操作&#xff08;羅列于表9.2&#xff08;第295頁&#xff09;&#xff09;。本章剩余部分將介紹順序容器所特…

SpringBoot 集成Nacos報錯(一)

目錄配置信息報錯信息解決方案配置信息 <project><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.2</version><relativePath/></parent>…

C++primer第九章 順序容器 9.4 vector對象是如何增長的

為了支持快速隨機訪問&#xff0c;vector將元素連續存儲&#xff0c;每個元素緊挨著前一個元素存儲。通常情況下&#xff0c;我們不必關心一個標準庫類型是如何實現的&#xff0c;而只需關心它如何使用。然而&#xff0c;對于vector和string,其部分實現滲透到了接口中。假定容器…

codeforces 281A-C語言解題報告

281A題目網址 題目解析 1.字符串首字母大寫 代碼 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> int main() {char s[1000]{\0};scanf("%s",s);if(s[0]>A&&s[0]<Z){printf("%s",s…

SpringBoot 配置文件bootstrap和application的區別

目錄一、SpringBoot配置文件二、bootstrap和application區別三、bootstrap和application的應用場景一、SpringBoot配置文件 bootstrap&#xff08;.yml 或者 .properties&#xff09; application&#xff08;.yml 或者 .properties&#xff09; 二、bootstrap和application區…

C++primer第九章 順序容器 9.5 額外的string操作

除了順序容器共同的操作之外&#xff0c;string類型還提供了一些額外的操作。這些操作中 的大部分要么是提供string類和C 風格字符數組之間的相互轉換,要么是增加了允許我們用下標代替迭代器的版本。標準庫string類型定義了大量函數。幸運的是&#xff0c;這些函數使用了重復的…

Zookeeper Mac下安裝操作

目錄一、下載Zookeeper二、修改配置1、設置啟動配置文件2、修改配置三、啟動Zookeeper服務命令1、bin目錄下執行&#xff08;1&#xff09;啟動Zookeeper命令&#xff08;2&#xff09;查看Zookeeper狀態命令&#xff08;3&#xff09;停止Zookeeper命令2、配置環境變量執行&am…

codeforces 266A-C語言解題報告

266A題目網址 題目解析 1.輸入n(1–50)個石頭個數,輸入RGB的石頭顏色,求問拿走最小的石頭個數,讓它們相鄰的石頭顏色不同 代碼 #include<stdio.h> #include<stdlib.h> #include<string.h> int main() {int n,i,count0;char s[50]{\0};scanf("%d&quo…

2014年考研英語二作文PartB圖表題

作文詳細解析 題目 Write an essay based on the following chart, in which you should interpret the chart, and give your comments You should write about 150 words on the ANSWER SHEET.(15 points) 注意點 1.圖表題在第一段描述圖表信息時,一定要寫清楚y軸變化…

Zookeeper 終端命令

目錄一、服務端命令1、啟動Zookeeper服務命令2、查看Zookeeper狀態命令3、停止Zookeeper服務命令4、啟動Zookeeper客戶端命令二、客戶端命令1、查看幫助2、查看當前znode所包含的內容3、創建znode4、創建短暫znode5、創建帶序號znode6、創建短暫帶序號znode7、獲取znode數據8、…

C++primer第九章 順序容器 9.6 容器適配器

9.6容器適配器 除了順序容器外&#xff0c;標準庫還定義了三個順序容器適配器&#xff1a;stack、queue和priority_queue適配器(adaptor)是標準庫中的一個通用概念。容器、迭代器和函數<369I都有適配器。本質上&#xff0c;一個適配器是一種機制&#xff0c;能使某種事物的…

codeforces 236A-C語言解題報告

236題目網址 題目解析 1.輸入字符串,判斷其中不同的字符個數,奇偶輸出不同的語句 2.使用冒泡排序去排序,當遇到s[k]!s[k1]時進行計數 代碼 #include<stdio.h> #include<stdlib.h> #include<string.h> int main() {char s [100]{\0};int i,j,k,count0;cha…