1. 程式人生 > 其它 >SpringBoot專案整合Nacos

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的示例,容易造成困擾,希望大家注意甄別。