SpringBoot使用Nacos配置中心的實(shí)現(xiàn)
本文介紹SpringBoot如何使用阿里巴巴Nacos做配置中心。
1.Nacos簡(jiǎn)介
Nacos是阿里巴巴集團(tuán)開源的一個(gè)易于使用的平臺(tái),專為動(dòng)態(tài)服務(wù)發(fā)現(xiàn),配置和服務(wù)管理而設(shè)計(jì)。它可以幫助您輕松構(gòu)建云本機(jī)應(yīng)用程序和微服務(wù)平臺(tái)。
Nacos基本上支持現(xiàn)在所有類型的服務(wù),例如,Dubbo / gRPC服務(wù),Spring Cloud RESTFul服務(wù)或Kubernetes服務(wù)。
尤其是使用Eureka注冊(cè)中心的,并且擔(dān)心Eureka閉源的開發(fā)者們,可以將注冊(cè)中心修改為Nacos,本文主要介紹Nacos配置中心的使用。
Nacos官網(wǎng)如下圖所示,官網(wǎng)地址https://nacos.io/zh-cn/
2.Nacos安裝
Nacos安裝可以采用如下兩種方式:
- 1.官網(wǎng)下載穩(wěn)定版本解壓使用。
- 2.下載源代碼編譯使用,目前最新的版本是0.8.0版本。
本文簡(jiǎn)單介紹一下第二種方式,到Nacos的穩(wěn)定版本下載地址https://github.com/alibaba/nacos/releases,下載最新版,本文下的是tag.gz文件,下載后解壓即安裝完成,然后進(jìn)入解壓目錄后的bin目錄執(zhí)行如下命令啟動(dòng)Nacos。
sh startup.sh -m standalone
啟動(dòng)可以看到控制臺(tái)如圖所示,端口號(hào)是8848(好像是因?yàn)橹槟吕尸敺宓母叨龋?,版?.8.0等等信息。
3.SpringBoot使用Nacos
接下來(lái),創(chuàng)建項(xiàng)目,項(xiàng)目中加入使用Nacos配置中心的依賴nacos-config-spring-boot-starter,完整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> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.1.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.dalaoyang</groupId> <artifactId>springboot2_nacos_config</artifactId> <version>0.0.1-SNAPSHOT</version> <name>springboot2_nacos_config</name> <description>springboot2_nacos_config</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/com.alibaba.boot/nacos-config-spring-boot-starter --> <dependency> <groupId>com.alibaba.boot</groupId> <artifactId>nacos-config-spring-boot-starter</artifactId> <version>0.2.1</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
配置文件中需要配置Nacos服務(wù)的地址,如下所示。
spring.application.name=springboot2-nacos-config nacos.config.server-addr=127.0.0.1:8848
在啟動(dòng)類,加入@NacosPropertySource注解其中包含兩個(gè)屬性,如下:
- dataId:這個(gè)屬性是需要在Nacos中配置的Data Id。
- autoRefreshed:為true的話開啟自動(dòng)更新。
在使用Nacos做配置中心后,需要使用@NacosValue注解獲取配置,使用方式與@Value一樣,完整啟動(dòng)類代碼如下所示。
package com.dalaoyang; import com.alibaba.nacos.api.config.annotation.NacosValue; import com.alibaba.nacos.spring.context.annotation.config.NacosPropertySource; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication @NacosPropertySource(dataId = "springboot2-nacos-config", autoRefreshed = true) @RestController public class Springboot2NacosConfigApplication { public static void main(String[] args) { SpringApplication.run(Springboot2NacosConfigApplication.class, args); } @NacosValue(value = "${nacos.test.propertie:123}", autoRefreshed = true) private String testProperties; @GetMapping("/test") public String test(){ return testProperties; } }
由于本文只是簡(jiǎn)單示例使用Nacos做配置中心,所以將啟動(dòng)類加了一個(gè)MVC方法,作為輸出配置信息進(jìn)行測(cè)試,這個(gè)測(cè)試的配置給了一個(gè)默認(rèn)值123,啟動(dòng)項(xiàng)目,訪問(wèn)http://localhost:8080/test,可以看到如下所示:
4.使用Nacos修改配置
訪問(wèn)Nacos服務(wù),http://localhost:8848/nacos/#/login,默認(rèn)情況用戶名密碼都是nacos,登錄頁(yè)如圖所示。
登錄后如圖所示。
接下來(lái)點(diǎn)擊右側(cè)加號(hào),添加我們剛剛創(chuàng)建的data id 的服務(wù),并將配置由123修改為111,如圖所示。
然后點(diǎn)擊右下角發(fā)布按鈕,再次訪問(wèn)http://localhost:8080/test如圖所示。
到這里SpringBoot使用Nacos配置中心就完成了,感興趣可以查看源碼仔細(xì)研究。
到此這篇關(guān)于SpringBoot使用Nacos配置中心的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)SpringBoot Nacos配置中心內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中JDBC實(shí)現(xiàn)動(dòng)態(tài)查詢的實(shí)例詳解
從多個(gè)查詢條件中隨機(jī)選擇若干個(gè)組合成一個(gè)DQL語(yǔ)句進(jìn)行查詢,這一過(guò)程叫做動(dòng)態(tài)查詢。下面通過(guò)實(shí)例代碼給大家講解JDBC實(shí)現(xiàn)動(dòng)態(tài)查詢的方法,需要的朋友參考下吧2017-07-07SpringBoot優(yōu)化啟動(dòng)速度的方法實(shí)現(xiàn)
本篇文章主要介紹了SpringBoot優(yōu)化啟動(dòng)速度的方法實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01JDBC數(shù)據(jù)源連接池配置及應(yīng)用
這篇文章主要介紹JDBC建立數(shù)據(jù)庫(kù)連接的兩種方式,使用配置數(shù)據(jù)源的方式連接數(shù)據(jù)庫(kù),效率更高,推薦使用,希望能給大家做一個(gè)參考。2016-06-06ZooKeeper框架教程Curator分布式鎖實(shí)現(xiàn)及源碼分析
本文是ZooKeeper入門系列教程,本篇為大家介紹zookeeper一個(gè)優(yōu)秀的框架Curator,提供了各種分布式協(xié)調(diào)的服務(wù),Curator中有著更為標(biāo)準(zhǔn)、規(guī)范的分布式鎖實(shí)現(xiàn)2022-01-01ScheduledThreadPoolExecutor巨坑解決
這篇文章主要為大家介紹了使用ScheduledThreadPoolExecutor遇到的巨坑解決示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02Mybatis的mapper標(biāo)簽 namespace屬性用法說(shuō)明
這篇文章主要介紹了Mybatis的mapper標(biāo)簽 namespace屬性用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09Spring/SpringBoot?@RequestParam注解無(wú)法讀取application/json格式數(shù)據(jù)問(wèn)題
RequestParam用于將指定的請(qǐng)求參數(shù)賦值給方法中的形參,可以接受簡(jiǎn)單類型屬性,也可以接受對(duì)象類型,一般用于GET請(qǐng)求,下面這篇文章主要給大家介紹了關(guān)于Spring/SpringBoot?@RequestParam注解無(wú)法讀取application/json格式數(shù)據(jù)問(wèn)題解決的相關(guān)資料,需要的朋友可以參考下2022-10-10