springboot集成nacos實現(xiàn)自動刷新的示例代碼
1.說明
springboot項目中存在好多配置文件,比如配置數(shù)據(jù)信息,redis信息等等,配置文件可以直接放在代碼,也可以放在像nacos這樣的組件中,實現(xiàn)動態(tài)的管理,修改配置文件后不用進行項目的重啟,直接可以實現(xiàn)自動刷新。
官網(wǎng)地址:
2.示例
①引入依賴
引入的nacos依賴要注意和springboot依賴適配。
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.5</version>
</dependency>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.10.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>②在nacos中添加配置文件
本地啟動nacos之后,打開nacos畫面,賬號和密碼都是nacos,如下:

新建命名空間
可以根據(jù)情況選擇是否要創(chuàng)建命名空間,默認(rèn)的命名空間是public。

新建配置
在配置管理中,選擇配置列表,然后選擇新建配置所在的命名空間,點擊右側(cè)的加號,新建配置

輸入配置文件的data id,data id就是配置文件的名字,在springboot項目中根據(jù)data id引入此配置文件。
group默認(rèn)是DEFAULT_GROUP,可以設(shè)置成其他的,一般會設(shè)置為dev、test、prod,分別對應(yīng)開發(fā)環(huán)境,測試環(huán)境及生產(chǎn)環(huán)境。
配置文件的格式一般是yaml或者時properities。
在配置文件內(nèi)容中寫入配置信息。

③在springboot項目中引入配置
(1)在springboot項目的配置文件中添加nacos配置信息
配置nacos地址及命名空間,如果新創(chuàng)建了命名空間,需要指定一下命名空間id
nacos.config.server-addr=http://192.168.8.178:8848 #nacos.config.auto-refresh=true nacos.config.namespace=5776702f-a25a-42f4-89d9-31114cfe160f
(2)在啟動類中添加引入的nacos配置文件
通過NacosPropertySource注解,指定要引入配置文件的dataId及設(shè)置自動刷新為true。
package com.example.demo;
import com.alibaba.nacos.spring.context.annotation.config.NacosPropertySource;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
@MapperScan("com.example.demo.mapper")
@NacosPropertySource(dataId = "application",autoRefreshed = true)
@NacosPropertySource(dataId = "demo1",autoRefreshed = true)
@EnableScheduling
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}(3)在程序中引入配置文件中的項目值
在程序中通過NacosValue引入配置文件中的項目內(nèi)容,通過value屬性指定項目id并設(shè)置自動刷新
@NacosValue(value = "${server.name}",autoRefreshed = true)
private String name;
@NacosValue(value = "${student.id}",autoRefreshed = true)
private String idInfo;
@NacosValue(value="${student.name}",autoRefreshed = true)
private String nameInfo;(4)啟動項目
啟動項目之后,就發(fā)現(xiàn)可以引用到配置文件中的內(nèi)容,并且在nacos畫面中修改了配置文件中項目的值,再次發(fā)起請求,發(fā)現(xiàn)代碼中引用的值也會自動刷新。
3.自動刷新的注意點
①必須在啟動類中引入配置文件時,設(shè)置自動刷新為true。
②必須在程序引用配置文件中的項目時,設(shè)置自動刷新為true。
③配置文件中的自動刷新可以不進行設(shè)置。
到此這篇關(guān)于springboot集成nacos實現(xiàn)自動刷新的示例代碼的文章就介紹到這了,更多相關(guān)springboot nacos自動刷新內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringData JPA快速上手之關(guān)聯(lián)查詢及JPQL語句書寫詳解
JPA都有SpringBoot的官方直接提供的starter,而Mybatis沒有,直到SpringBoot 3才開始加入到官方模版中,這篇文章主要介紹了SpringData JPA快速上手,關(guān)聯(lián)查詢,JPQL語句書寫的相關(guān)知識,感興趣的朋友一起看看吧2023-09-09
使用SpringMVC 重寫、擴展HttpServletRequest請求參數(shù)
這篇文章主要介紹了使用SpringMVC 重寫、擴展HttpServletRequest請求參數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08
springboot實現(xiàn)配置多環(huán)境yml方式
在SpringBoot項目中,通過創(chuàng)建不同的YAML配置文件來實現(xiàn)多環(huán)境配置是一種常見且有效的方法,這些配置文件包括application.yml、application-dev.yml、application-prod.yml等,分別對應(yīng)不同的開發(fā)環(huán)境,如開發(fā)環(huán)境、生產(chǎn)環(huán)境2024-11-11
HttpMessageConverter報文信息轉(zhuǎn)換器的深入講解
在Spring中內(nèi)置了大量的HttpMessageConverter,通過請求頭信息中的MIME類型,選擇相應(yīng)的HttpMessageConverter,這篇文章主要給大家介紹了關(guān)于HttpMessageConverter報文信息轉(zhuǎn)換器的相關(guān)資料,需要的朋友可以參考下2022-01-01
springmvc配置線程池Executor做多線程并發(fā)操作的代碼實例
今天小編就為大家分享一篇關(guān)于springmvc配置線程池Executor做多線程并發(fā)操作的代碼實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03
JavaFX桌面應(yīng)用未響應(yīng)問題解決方案
這篇文章主要介紹了JavaFX桌面應(yīng)用未響應(yīng)問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07

