温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何构建SpringBoot微服务并实现服务配置读取和热加载

发布时间:2021-12-24 10:48:02 来源:亿速云 阅读:468 作者:小新 栏目:大数据

这篇文章主要介绍了如何构建SpringBoot微服务并实现服务配置读取和热加载,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

Spring Boot 官网提供了一个快速启动的页面 https://start.spring.io/ 在该页面填写基本信息,会生成相应工程目录,具体工程目录如下

如何构建SpringBoot微服务并实现服务配置读取和热加载

其中 DemoApplication 是我们主程序入口,application.properties 是工程的配置文件。整个 Spring Boot 工程采用 maven 管理依赖,诸多我们需要的依赖都会有相应的starter包。

  • 这里首先我们需要引入 Nacos config 的依赖包,在 pom.xml 中添加如下依赖:

<dependency>    <groupId>com.alibaba.boot</groupId>    <artifactId>nacos-config-spring-boot-starter</artifactId>    <version>${latest.version}</version></dependency>

”注意:版本 0.2.x.RELEASE 对应的是 Spring Boot 2.x 版本,版本 0.1.x.RELEASE 对应的是 Spring Boot 1.x 版本。”,根据我们工程 spring-boot-starter-parent 选择相应的 release 版本。

  • 接下来在 application.properties 配置文件中添加上一篇文章中部署成功的 Nacos server 地址:


nacos.config.server-addr=127.0.0.1:8848
  • 下面在我们主程序入口处加上对应的注解,加载 dataId 为 demo 的配置源,并开启自动更新,能够实现配置的热加载(autoRefreshed = true)。


如何构建SpringBoot微服务并实现服务配置读取和热加载

  • 在controller层通过 Nacos 的注解 @NacosValue 设置对应的属性值

${NacosCacheConfig}

如何构建SpringBoot微服务并实现服务配置读取和热加载

  • 启动 DemoApplication 浏览器访问 http://localhost:8080/demo-config/get , 可以看到浏览器返回的内容是


如何构建SpringBoot微服务并实现服务配置读取和热加载

  • 通过 Nacos 的 OpenAPI (https://nacos.io/zh-cn/docs/open-API.html) 向 Nacos server 发布我们需要修改的配置,dataId 为 demo,配置内容为: NacosCacheConfig=enable

curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=demo&group=DEFAULT_GROUP&content=NacosCacheConifg=enable"
  • 再次访问 http://localhost:8080/demo-config/get , 可以看到浏览器返回的内容是

如何构建SpringBoot微服务并实现服务配置读取和热加载

而此时我们是没有重启服务的,可以验证该配置为热加载,可以做到不停服更新配置。同时,如果认为 OpenAPI调用比较麻烦,可以直接在控制台编辑对应的配置,并点击发布,其操作详见下图:

如何构建SpringBoot微服务并实现服务配置读取和热加载

显示控制台已有的配置信息,我们直接编辑配置的 text 文本,点击发布,系统会让你再次确认,确认发布再刷新浏览器,能够看到此时配置已经更新。

如何构建SpringBoot微服务并实现服务配置读取和热加载

感谢你能够认真阅读完这篇文章,希望小编分享的“如何构建SpringBoot微服务并实现服务配置读取和热加载”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI