SpringBoot專案整合Nacos
參與一個xxx專案,系統為使用SpringBoot開發框架的單體專案,包含大量介面整合,上線試執行兩個月後,因一次斷電,客戶突然提出沒法監測系統是否正常執行,討論後提出將系統接入到某一個某綜合管理平臺中,即可實時監控,具體實現就是需連線到管理平臺的nacos中去,於是開始改造,搜尋了相關資料,第一次改造未成功,第二次正常。網上原理性的內容太多太多,有興趣可自行查詢,因此只分享實際改造過程,具體過程如下
一.新增依賴
在pom.xml檔案引入nacos的相關依賴,注意檢視原專案的springboot版本,和nacos版本,否則容易出現版本不匹配異常(本專案使用springboot 2.0.8,nacos 1.1.3)
<!-- Nacos 元件依賴 --> <dependency> <groupId>com.alibaba.boot</groupId> <artifactId>nacos-discovery-spring-boot-starter</artifactId> <version>0.2.3</version> </dependency> <dependency> <groupId>com.alibaba.boot</groupId> <artifactId>nacos-config-spring-boot-starter</artifactId> <version>0.2.3</version> </dependency>
二.增加nacos配置
當前專案使用的配置檔案為application.yml,按照資料來說,不能直接在application.yml增加nacos配置,否則不識別,驗證後確實如此,因此只需在原配置application.yml檔案同目錄下增加bootstrap.yml檔案,內容如下
spring: application: name: mdm-service server: port: 8980 ip: 127.0.0.1 nacos: config: server-addr: 127.0.0.1:8848 discovery: server-addr: 127.0.0.1:8848
其中,name為註冊到naocs中的服務名稱,port,ip為當前專案的ip地址和埠,server-addr為nacos的地址
三.增加nacos配置類
用於載入bootstrap.yml檔案中nacos配置
/** * */ package com.bjsasc.modules; import javax.annotation.PostConstruct; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; import com.alibaba.nacos.api.annotation.NacosInjected; import com.alibaba.nacos.api.exception.NacosException; import com.alibaba.nacos.api.naming.NamingService; /** * @author Administrator * */ @Configuration public class NacosConfig { @Value("${server.port}") private int serverPort; @Value("${server.ip}") private String serverIP; @Value("${spring.application.name}") private String applicationName; @NacosInjected private NamingService namingService; @PostConstruct public void registerInstance() throws NacosException { namingService.registerInstance(applicationName, serverIP, serverPort); } }
四.修改springboot啟動類
啟動類上增加@NacosPropertySource註解
@NacosPropertySource(dataId = "mdm-config",autoRefreshed = true)
其中,dataId為nacos 配置管理-》配置列表的配置檔名稱,可自行新建,內容隨便寫個,注意格式即可(也可不加配置檔案,為空時不影響專案連線nacos)
五.啟動nacos和當前專案
訪問nacos檢視結果,nacos賬號密碼:nacos/nacos
點選詳情,檢視springboot專案連線地址和埠
改造完成。
ps:網上好多資料都是springcloud專案整合nacos的示例,容易造成困擾,希望大家注意甄別。