资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

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

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

创新互联2013年至今,先为石家庄等服务建站,石家庄等地企业,进行企业商务咨询服务。为石家庄企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

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

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

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

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

    com.alibaba.boot    nacos-config-spring-boot-starter    ${latest.version}

”注意:版本 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微服务并实现服务配置读取和热加载”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!


网站栏目:如何构建SpringBoot微服务并实现服务配置读取和热加载
文章来源:http://cdkjz.cn/article/ggcgje.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220