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

8-springboot集成nacos config

本文介绍spring boot集成nacos config,注意这里和spring cloud没任何关系,单纯基于spring boot。

0、环境

  • jdk 1.8
  • nacos 2.0.3
  • Idea 2021.1
  • maven 3.8.1

1、springboot搭建

Idea新建maven项目,构建完成后,添加以下依赖:

 	<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.2</version></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--注意版本对应,否则启动不起来--><dependency><groupId>com.alibaba.boot</groupId><artifactId>nacos-config-spring-boot-starter</artifactId><version>0.2.11</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies>  

继续添加springboot启动类:

@SpringBootApplication
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}

再添加配置文件,application.yml:

server:port: 9080spring:application:name: nacos-config-sample#nacos的地址配置 
nacos:config:server-addr: 127.0.0.1:8848namespace: dev   

好了,到此为止,springboot环境构建完成。你可以启动试试,看能正常启动不。

2、配置nacos config

打开nacos控制台,按下图标号顺序点击:
在这里插入图片描述
点击“+”后,出现下图:

在这里插入图片描述输入图上的配置,注意,组名不动,保持默认。输入完成后,保存。

3、写一个读取配置的controller

@RestController
@NacosPropertySource(dataId = "example", autoRefreshed = true)
@Slf4j
public class NacosConfigController {@GetMapping("/config")public String get() {log.info("------config controller-------, info = {}", info);return info;}//注意这个默认值的写法,":"前后不能有空格@NacosValue(value="${info:localData}", autoRefreshed = true)private String info;
}

注意:

  • @NacosPropertySource(dataId=“example”, autoRefreshed=true),其中,dataId必须与nacos中配置的dataId一致。
  • @NacosValue(value=“${info:localData}”, autoRefreshed = true),其中,value的表达式,info必须与nacos中配置的一致。

4、测试一下

启动,然后测试一下,结果如下图:
在这里插入图片描述
perfect!

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • python绘图 | 横坐标是日期,纵坐标是数值
  • LabVIEW无法在共享变量引擎中定位共享变量
  • [微信小程序/uniapp] 锁屏/后台 状态下的音频控制方案
  • 【图像识别】十大数据集合集!
  • golang编码最佳实践(持续更新中)
  • fastjson-1.2.24利用
  • ardupilot开发 --- Rpanion-server 篇
  • 通过 C# 写入数据到Excel表格
  • 【收集表单数据】
  • 通过颜色反卷积进行组织化学染色的定量分析
  • git submodule 使用
  • K8S可视化管理平台KubeSphere
  • 【Linux 网络】应用层
  • es之must、filter、must_not、should
  • 公交信息在线查询小程序的设计
  • ES6指北【2】—— 箭头函数
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • android图片蒙层
  • docker-consul
  • java中的hashCode
  • Webpack 4 学习01(基础配置)
  • 讲清楚之javascript作用域
  • 扑朔迷离的属性和特性【彻底弄清】
  • 如何实现 font-size 的响应式
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 关于Android全面屏虚拟导航栏的适配总结
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #define、const、typedef的差别
  • #Linux(帮助手册)
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • (2)空速传感器
  • (7)svelte 教程: Props(属性)
  • (C++17) optional的使用
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (Java入门)抽象类,接口,内部类
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (备份) esp32 GPIO
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (几何:六边形面积)编写程序,提示用户输入六边形的边长,然后显示它的面积。
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (详细文档!)javaswing图书管理系统+mysql数据库
  • (转)Sql Server 保留几位小数的两种做法
  • (转)用.Net的File控件上传文件的解决方案
  • ******IT公司面试题汇总+优秀技术博客汇总
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • @RequestBody详解:用于获取请求体中的Json格式参数
  • [ vulhub漏洞复现篇 ] Apache APISIX 默认密钥漏洞 CVE-2020-13945
  • [.net 面向对象程序设计进阶] (19) 异步(Asynchronous) 使用异步创建快速响应和可伸缩性的应用程序...
  • [20170713] 无法访问SQL Server