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

posted @ 2022-05-26 15:56  泠雨0702  阅读(2043)  评论(0编辑  收藏  举报