您好,登錄后才能下訂單哦!
Nacos如何在SpringBoot中使用?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
1.Nacos簡介
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注冊中心的,并且擔(dān)心Eureka閉源的開發(fā)者們,可以將注冊中心修改為Nacos
2.Nacos安裝
Nacos安裝可以采用如下兩種方式:
1.官網(wǎng)下載穩(wěn)定版本解壓使用。
2.下載源代碼編譯使用,目前最新的版本是0.8.0版本。
本文簡單介紹一下第二種方式,到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等等信息。
接下來,創(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; } }
由于本文只是簡單示例使用Nacos做配置中心,所以將啟動(dòng)類加了一個(gè)MVC方法,作為輸出配置信息進(jìn)行測試,這個(gè)測試的配置給了一個(gè)默認(rèn)值123,啟動(dòng)項(xiàng)目,訪問http://localhost:8080/test,可以看到如下所示:
訪問Nacos服務(wù),http://localhost:8848/nacos/#/login,默認(rèn)情況用戶名密碼都是nacos,登錄頁如圖所示。
登錄后如圖所示。
接下來點(diǎn)擊右側(cè)加號(hào),添加我們剛剛創(chuàng)建的data id 的服務(wù),并將配置由123修改為111,如圖所示。
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。