SprinBoot集成nacos

环境搭建

采用docker-compose搭建测试环境


# docker-compose参考:https://github.com/nacos-group/nacos-docker/blob/master/example/standalone-mysql-5.7.yaml
# Nacos文档:https://nacos.io/zh-cn/index.html
version: '3'# 网桥 -> 方便相互通讯
networks:nacos:driver: bridgeservices:nacos:image: registry.cn-hangzhou.aliyuncs.com/zhengqing/nacos-server:2.2.0    # 原镜像`nacos/nacos-server:2.2.0`container_name: nacos_server                                 # 容器名为'nacos_server'restart: unless-stopped                                              # 指定容器退出后的重启策略为始终重启,但是不考虑在Docker守护进程启动时就已经停止了的容器volumes:                                                     # 数据卷挂载路径设置,将本机目录映射到容器目录- "./nacos/logs:/home/nacos/logs"environment:                        # 设置环境变量,相当于docker run命令中的-e- PREFER_HOST_MODE=hostname                 # 如果支持主机名可以使用hostname,否则使用ip,默认也是ip- MODE=standalone                           # 单机模式启动- SPRING_DATASOURCE_PLATFORM=mysql          # 数据源平台 仅支持mysql或不保存empty# TODO 修改mysql连接信息- MYSQL_SERVICE_HOST=10.11.68.77           # 注:这里不能为`127.0.0.1`或`localhost`方式!!!- MYSQL_SERVICE_DB_NAME=nacos_config        # 所需sql脚本位于 `nacos/nacos-mysql.sql`- MYSQL_SERVICE_PORT=3306- MYSQL_SERVICE_USER=root- MYSQL_SERVICE_PASSWORD=root# TODO 修改JVM调优参数- JVM_XMS=128m   #-Xms default :2g- JVM_XMX=128m   #-Xmx default :2g- JVM_XMN=64m    #-Xmn default :1g- JVM_MS=32m     #-XX:MetaspaceSize default :128m- JVM_MMS=32m    #-XX:MaxMetaspaceSize default :320mports:- "8848:8848"depends_on:- mysqlnetworks:- nacosmem_limit: 1000m   # 最大使用内存mysql:image: registry.cn-hangzhou.aliyuncs.com/zhengqing/mysql:5.7container_name: nacos-mysqlrestart: unless-stoppedvolumes:- "./nacos/mysql5.7/my.cnf:/etc/mysql/my.cnf"- "./nacos/mysql5.7/data:/var/lib/mysql"- "./nacos/mysql5.7/log/mysql/error.log:/var/log/mysql/error.log"environment:TZ: Asia/ShanghaiLANG: en_US.UTF-8MYSQL_ROOT_PASSWORD: root         # 设置root用户密码MYSQL_DATABASE: nacos_config           # 初始化数据库ports:- "3306:3306"networks:- nacos

启动环境


# tips: 先修改配置与导入`nacos/nacos-mysql.sql`
docker-compose -f docker-compose.yml -p nacos up -d

访问地址:ip地址:8848/nacos 登录账号密码默认:nacos/nacos

新增配置:
在这里插入图片描述

一、添加依赖


<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>springboot-demo</artifactId><groupId>com.et</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>nacos</artifactId><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><!-- 2.1.2版本以上支持纯净版客户端 --><nacos.version>0.2.7</nacos.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-autoconfigure</artifactId></dependency><dependency><groupId>com.alibaba.boot</groupId><artifactId>nacos-config-spring-boot-starter</artifactId><version>${nacos.version}</version></dependency></dependencies>
</project>

二、配置文件和启动类

nacos:config:server-addr: 127.0.0.1:8848
@SpringBootApplication
@NacosPropertySource(dataId = "test", autoRefreshed = true)// dataId同nacos中的id保持一致
public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}
}

三、Controller

@Controller
@RequestMapping("config")
public class ConfigController{@NacosValue(value="${userLocalCache:false}",autoRefreshed = true)private boolean useLocalCache;@RequestMapping(value="/get",method=GET)@ResponseBodypublic boolean get(){return useLocalCache;}
}

测试:

访问 http://localhost:8080/config/get,返回内容是 false
通过nacos控制台修改配置:dataId 为example,内容为useLocalCache=true
再次访问 http://localhost:8080/config/get,此时返回内容为true,说明程序中的useLocalCache值已经被动态更新了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/513778.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

结合大象机器人六轴协作机械臂myCobot 280 ,解决特定的自动化任务和挑战!(上)

项目简介 本项目致力于探索和实现一种高度集成的机器人系统&#xff0c;旨在通过结合现代机器人操作系统&#xff08;ROS&#xff09;和先进的硬件组件&#xff0c;解决特定的自动化任务和挑战。一部分是基于Jetson Orin主板的LIMO PPRO SLAM雷达小车&#xff0c;它具备自主导航…

upload-Labs靶场“11-15”关通关教程

君衍. 一、第十一关 %00截断GET上传1、源码分析2、%00截断GET上传 二、第十二关 %00截断POST上传1、源码分析2、%00截断POST上传 三、第十三关 文件头检测绕过1、源码分析2、文件头检测绕过 四、第十四关 图片检测绕过上传1、源码分析2、图片马绕过上传 五、第十五关 图片检测绕…

PYQT5打包报错 FileNotFoundError ModuleNotFoundError:No Module named ‘MyImport‘

pyinstaller打包pyqt5程序得到exe文件无法运行的问题 在执行该命令之后pyinstaller -D -w main.py&#xff0c;生成的exe文件运行出现报错&#xff0c;ui文件找不到、模块找不到等&#xff0c;这些是因为程序使用到非官方库等问题&#xff0c;总之就是你自己的各种文件在代码中…

图像处理 mask掩膜

1&#xff0c;图像算术运算 图像的算术运算有很多种&#xff0c;比如两幅图像可以相加&#xff0c;相减&#xff0c;相乘&#xff0c;相除&#xff0c;位运算&#xff0c;平方根&#xff0c;对数&#xff0c;绝对值等&#xff1b;图像也可以放大&#xff0c;缩小&#xff0c;旋…

Git分布式管理-头歌实验分支管理

一、创建本地分支-git branch 任务描述 当你进入一个团队&#xff0c;在获得产品的完整代码之后&#xff0c;你首先要做的就是&#xff0c;在本地创建一个属于自己的分支&#xff0c;然后才能在自己的分支上进行开发。 本关任务&#xff1a;在本地仓库创建一个新的分支&#xf…

flutter小程序开发,Android高级工程师必备知识

AWTK 主要特色&#xff1a; 1、跨平台 AWTK 是跨平台的&#xff0c;这有两个方面的意思&#xff1a; AWTK 本身是跨平台的。目前支持的平台有 ZLG AWorks、Windows、Linux、MacOS、嵌入式 Linux、Android、Web 和嵌入式裸系统&#xff0c;可以轻松的移植到各种 RTOS 上。AWT…

javascript基础入门

1.第一个javascript程序 javascript程序不能够独立的运行&#xff0c;必须依赖于HTML文件&#xff0c;type属性值用来说明脚本的类型&#xff0c;这里 是指使用javascript编写的文本文件&#xff1b; 2.alert警告框 alert&#xff08;&#xff09;函数显示一条指定的信息&am…

Windows上websocket客户端连接定时存储消息到文件并加载文件定时发送服务端工具实现

场景 在业务开发中&#xff0c;需要对接三方websocket协议数据或者连接并存储线上websocket协议数据&#xff0c;需要使用websocket客户端 连接线上的websocket服务端获取并存储数据&#xff0c;然后将数据存储成文件格式可移植&#xff0c;并将数据复制 到本地&#xff0c;…

【探索AI】二十五 深度学习之第8周:深度学习项目实战

项目名称&#xff1a;基于深度学习的图像分类系统 一、项目背景 随着大数据和人工智能技术的快速发展&#xff0c;图像分类技术在各个领域得到了广泛应用&#xff0c;如安防监控、医疗诊断、自动驾驶等。本项目旨在利用深度学习技术构建一个高效的图像分类系统&#xff0c;实…

Nginx使用—http基础知识

web访问流程 当我们在客户端通过浏览器输入网址的时候&#xff0c;这时候是访问不到服务器的&#xff0c; 先会去找到DNS解析服务器&#xff0c;DNS解析服务器返回IP地址&#xff0c; 客户端通过http协议向服务端发送请求&#xff0c;服务器响应请求并返回对应的资源给客户端&a…

持续更新 | 与您分享 Flutter 2024 年路线图

作者 / Michael Thomsen Flutter 是一个拥有繁荣社区的开源项目&#xff0c;我们致力于确保我们的计划公开透明&#xff0c;并将毫无隐瞒地分享从问题到设计规范的所有内容。我们了解到许多开发者对 Flutter 的功能路线图很感兴趣。我们往往会在一年中不断更改并调整这些计划&a…

CSS实现选中卡片样式操作

图一默认自动选中&#xff0c;并且不可取消选中&#xff0c;当选择其他卡片才可点击下一步 在 “ src/assets ” 路径下存放 save.png&#xff0c;代表选中的状态 <div class"cards"><ul class"container"><li v-for"image in image…