Java springboot 整合 Nacos的實(shí)例代碼
Nacos注冊中心使用
1)工程添加依賴包
<!-- nacos注冊中心依賴包 --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <!-- 監(jiān)控檢查--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
2)nacos-web工程添加配置文件bootstrap.yml
spring: application: name: nacos-web cloud: nacos: discovery: server-addr: 127.0.0.1:8848 server: port: 9100 #健康檢查 management: endpoints: web: exposure: include: "*"
3)nacos-web工程添加啟動(dòng)類
@SpringBootApplication @EnableDiscoveryClient public class NacosWebApplication { public static void main(String[] args) { SpringApplication.run(NacosWebApplication.class,args); } }
4)nacos-web工程新建InfoController
@RestController public class InfoController { @Value("${server.port}") private String port; @Value("${key:''}") private String key; @GetMapping(value = "/echo/{message}") public String echo(@PathVariable(value = "message") String message) { return "Hello Nacos Discovery " + message + ", i am from port " + port; } @GetMapping(value = "/config") public String config() { return "Hello Nacos Config get "+key ; } }
5)啟動(dòng)服務(wù)并查看效果
6)編輯配置內(nèi)容
7)啟動(dòng)項(xiàng)目訪問工程
☆ 動(dòng)態(tài)刷新☆
Nacos Config Starter 默認(rèn)為所有獲取數(shù)據(jù)成功的 Nacos
的配置項(xiàng)添加了監(jiān)聽功能,在監(jiān)聽到服務(wù)端配置發(fā)生變化時(shí)會(huì)實(shí)時(shí)觸發(fā)
org.springframework.cloud.context.refresh.ContextRefresher 的 refresh
方法 。如果需要對 Bean 進(jìn)行動(dòng)態(tài)刷新,參照 Spring 和 Spring Cloud 規(guī)范。推薦給類添加 @RefreshScope
進(jìn)行自動(dòng)刷新
發(fā)布新配置
接受到了新配置
8)多環(huán)境支持
為不同的環(huán)境編寫專門的配置文件,可以通過切換profiles的參數(shù)來實(shí)現(xiàn)
測試環(huán)境 test
開發(fā)環(huán)境 dev
生產(chǎn)環(huán)境 prod
--spring.profiles.active=環(huán)境名稱
9) Nacos實(shí)現(xiàn)多配置
nacos可以同時(shí)支持多環(huán)境配置。只需要在nacos配置中心中根據(jù)dataId進(jìn)行區(qū)分即可。dataId 完整的拼接格式如下
在 Nacos Config Starter 中,dataId 完整的拼接格式如下
${prefix}-${spring.profiles.active}.${file-extension} prefix
默認(rèn)為
spring.application.name
的值,也可以通過配置項(xiàng)
spring.cloud.nacos.config.prefix
來配置。spring.profiles.active
即為當(dāng)前環(huán)境對應(yīng)的
profile file-extension
為配置內(nèi)容的數(shù)據(jù)格式,可以通過配置項(xiàng)
spring.cloud.nacos.config.file-extension
來配置。 目前只支持properties
類型。
10)修改bootstrap.yml
spring: profiles: active: dev #開發(fā)環(huán)境 application: name: nacos-web cloud: nacos: discovery: server-addr: 127.0.0.1:8848 config: server-addr: 127.0.0.1:8848 file-extension: yml #后綴 prefix: nacos-web #前綴 server: port: 9100
11)nacos中新增配置信息
當(dāng)前開發(fā)環(huán)境為dev時(shí)
12)不同應(yīng)用間配置信息共享
Nacos中新建common.yml
修改nacos-web工程配置文件,添加
spring: application: name: nacos-web cloud: nacos: discovery: server-addr: 192.168.200.128:8848 config: server-addr: 192.168.200.128:8848 file-extension: yml #指定文件擴(kuò)展名,默認(rèn)為properties prefix: nacos-web #添加共享配置的dataId,如多個(gè)使用逗號分隔,并且越靠后,優(yōu)先級越高 #文件后綴名不能少,只支持yaml,yml,properies shared-dataids: common.yml #哪些共享配置支持動(dòng)態(tài)刷新,如多個(gè)使用逗號分隔 refreshable-dataids: common.yml profiles: active: dev #開發(fā)環(huán)境 server: port: 9100 management: endpoints: web: exposure: include: "*" #日志 logging: level: org.springframework.web: debug
到此這篇關(guān)于Java springboot 整合 Nacos的文章就介紹到這了,更多相關(guān)Java springboot 整合 Nacos內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 解決Nacos集群啟動(dòng)失敗:java版本問題
- 使用Java自制一個(gè)一個(gè)Nacos
- Java中基于Nacos實(shí)現(xiàn)Sentinel規(guī)則持久化詳解
- Java微服務(wù)Nacos Config配置中心超詳細(xì)講解
- Java?nacos動(dòng)態(tài)配置實(shí)現(xiàn)流程詳解
- 一篇文章帶你了解Java SpringBoot Nacos
- 解決nacos報(bào)錯(cuò)java.lang.ClassNotFoundException: com.netflix.config.DynamicPropertyFactory的問題
相關(guān)文章
springboot整合webservice使用簡單案例總結(jié)
WebService是一個(gè)SOA(面向服務(wù)的編程)的架構(gòu),它是不依賴于語言,平臺(tái)等,可以實(shí)現(xiàn)不同的語言間的相互調(diào)用,下面這篇文章主要給大家介紹了關(guān)于springboot整合webservice使用的相關(guān)資料,需要的朋友可以參考下2024-07-07Java的面向?qū)ο缶幊袒靖拍顚W(xué)習(xí)筆記整理
這篇文章主要介紹了Java的面向?qū)ο缶幊袒靖拍顚W(xué)習(xí)筆記整理,包括類與方法以及多態(tài)等支持面向?qū)ο笳Z言中的重要特點(diǎn),需要的朋友可以參考下2016-01-01java Executors工具類的相關(guān)方法使用創(chuàng)建
這篇文章主要為大家介紹了java Executors工具類的相關(guān)方法使用創(chuàng)建,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11JUnit5中的參數(shù)化測試實(shí)現(xiàn)
參數(shù)化測試使得我們可以使用不同的參數(shù)運(yùn)行同一個(gè)測試方法,從而減少我們編寫測試用例的工作量,本文主要介紹了JUnit5中的參數(shù)化測試實(shí)現(xiàn),感興趣的可以了解一下2023-05-05java讀取配置文件自定義字段(yml、properties)
本文主要介紹了java讀取配置文件自定義字段(yml、properties),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07spring事務(wù)Propagation及其實(shí)現(xiàn)原理詳解
這篇文章主要介紹了spring事務(wù)Propagation及其實(shí)現(xiàn)原理詳解,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02淺談Java中生產(chǎn)者與消費(fèi)者問題的演變
這篇文章主要介紹了淺談Java中生產(chǎn)者與消費(fèi)者問題的演變,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-10-10