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