当前位置: 首页 > news >正文

spring boot接入nacos 配置中心

再接入nacos配置中心时,需要确认几点:

1. spring boot 版本 (spring boot 2.x )

2. nacos 配置中心 服务端 版本 (1.1.4)

3. nacos client 客户端版本 (1.1.4)

方式一

1. 启动 nacos 服务端,这里不做解释

在配置中心中加入几个配置

2. 在自己的应用里引入 依赖包

<dependency><groupId>com.alibaba.boot</groupId><artifactId>nacos-config-spring-boot-starter</artifactId><version>0.2.8</version></dependency>

注意, nacos-config-spring-boot-starter 的版本内 引入了 nacos-client,需要注意引入的版本 是否与nacos服务端匹配。如果不匹配,可能会有问题。

这里使用的 nacos 服务端 是 1.x版本,所有引入的包也是1.x的才可以。

3. 配置 nacos 服务端地址

nacos.config.server-addr= localhost:8848 

4.  在spring boot 启动类 加入 注解

如果是 只有一个 dataId,使用 @NacosPropertySource

如果有 多个 dataId,使用 @NacosPropertySources

@SpringBootApplication
@NacosPropertySources({@NacosPropertySource(dataId = "springboot-nacos-hello", autoRefreshed = true,type = ConfigType.PROPERTIES),@NacosPropertySource(dataId = "useLocalCache", autoRefreshed = true,type = ConfigType.PROPERTIES)
})
public class NacostestApplication {public static void main(String[] args) {SpringApplication.run(NacostestApplication.class, args);}}

5. 读取 配置

使用 注解 @NacosValue

    @NacosValue(value = "${hi}", autoRefreshed = true)private String useLocalCache;

方式二:

引入依赖

        <dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId><version>1.1.4</version></dependency>

直接调用api

@Component
public class ConfigS {@Beanpublic ConfigService configService() {try {Properties properties = new Properties();properties.setProperty("serverAddr", "localhost:8848");ConfigService configService = NacosFactory.createConfigService(properties);configService.addListener("springboot-nacos-hello", "DEFAULT_GROUP", new Listener() {@Overridepublic Executor getExecutor() {return null;}@Overridepublic void receiveConfigInfo(String configInfo) {// 配置更新处理逻辑System.out.printf(configInfo);}});return configService;} catch (Exception e) {return null;}}
}
configService.getConfig("springboot-nacos-hello","DEFAULT_GROUP",10000)

这种方式 只是简单的拉去配置中心的内容,需要自己解析 配置内容和监听更新

方案三

引入依赖包

        <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><version>2.1.1.RELEASE</version><exclusions><exclusion><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId></exclusion></exclusions></dependency><dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId><version>1.1.4</version></dependency>

 在 bootstrap.properties 文件中配置属性:

#服务地址
spring.cloud.nacos.config.server-addr= localhost:8848#共享配置
spring.cloud.nacos.config.shared-dataids=a.properties,b.properties
spring.cloud.nacos.config.refreshable-dataids=a.properties#扩展配置
spring.cloud.nacos.config.ext-config.0.data-id=useLocalCache.properties
spring.cloud.nacos.config.ext-config.0.refresh=true
spring.cloud.nacos.config.ext-config.1.data-id=useLocalCache2.properties#当前应用
spring.cloud.nacos.config.prefix=app
spring.cloud.nacos.config.file-extension= properties

读取配置: 使用@Value 注解

@Value(value = "${hi}")
private String useLocalCache;

 

nacos配置中心添加配置

 

共有三种配置:

1. 加载共享配置

sharedDataids 注意: 需要有后缀

refreshableDataids

分隔符 "[,]"

2. 加载扩展配置

extConfig 数组结构

dataId 必须有后缀

3. 加载应用级别的配置

读取 prefix /name/spring.application.name 属性

作为dataId

1. 直接加载 dataId

2. 加载 dataId.fileExtension

3. 加载 dataId - profile . fileExtension

覆盖

http://www.lryc.cn/news/377716.html

相关文章:

  • 产品应用 | 小盒子跑大模型!英码科技基于算能BM1684X平台实现大模型私有化部署
  • uniapp中u-input点击事件失效
  • [机器学习] 监督学习和无监督学习
  • 使用Python进行自然语言处理:从基础到实战
  • Hadoop面试题总结
  • 关于IntelliJ IDEA 2024.1版本更新的问题
  • 双层循环和循环语句
  • 【Codesys】-计算开机通电运行时间,累计正常使用时间,故障停机时间
  • LINUX系统编程:线程的概念
  • 如何更换OpenHarmony SDK API 10
  • Java | Leetcode Java题解之第155题最小栈
  • 大润发超市购物卡怎么用?
  • 【ai】tx2-nx:搭配torch的torchvision
  • 深入浅出MyBatis:全面解析与实战指南
  • 好用的linux一键换源脚本
  • 机器人----控制方式
  • json的特点
  • 【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 连续字母长度(100分) - 三语言AC题解(Python/Java/Cpp)
  • 18 Shell编程规范与变量
  • Linux基础命令大全(详解版)
  • python列表常见去重方法
  • usb摄像头应用编程
  • 康谋分享 | 自动驾驶联合仿真——功能模型接口FMI(一)
  • OPenCV中绘制多条多边形曲线函数polylines的使用
  • 气膜球幕影院:娱乐体验的新高度—轻空间
  • 阿里CEO个人投资的智驾公司,走了不一样的路
  • Arduino平台软硬件原理及使用——无源蜂鸣器模块的使用
  • 【Go】用 DBeaver、db browser 和 SqlCipher 读取 SqlCipher 数据库
  • ROS操作过程中的报错
  • Qt项目学习-20240617