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的示例,容易造成困扰,希望大家注意甄别。
本文来自博客园,作者:泠雨0702,转载请注明原文链接:https://www.cnblogs.com/lingyu0702/p/16313776.html

浙公网安备 33010602011771号