从微服务拉取配置

微服务要拉取nacos中管理的配置,并且与本地的application.yml配置合并,才能完成项目启动。

但如果尚未读取application.yml,又如何得知nacos地址呢?

因此spring引入了一种新的配置文件:bootstrap.yaml文件,会在application.yml之前被读取,流程如下:

1)引入nacos-config依赖

首先,在user-service服务中,引入nacos-config的客户端依赖:

<!--nacos配置管理依赖-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

2)添加bootstrap.yaml

然后,在user-service中添加一个bootstrap.yaml文件,内容如下:

spring:application:name: userservice # 服务名称profiles:active: dev #开发环境,这里是dev cloud:nacos:server-addr: localhost:8848 # Nacos地址config:file-extension: yaml # 文件后缀名

这里会根据spring.cloud.nacos.server-addr获取nacos地址,再根据

${spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}作为文件id,来读取配置。

本例中,就是去读取userservice-dev.yaml

3)读取nacos配置

在user-service中的UserController中添加业务逻辑,读取pattern.dateformat配置:

完整代码:

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;@Slf4j
@RestController
@RequestMapping("/user")
public class UserController {@Autowiredprivate UserService userService;@Value("${pattern.dateformat}")private String dateformat;@GetMapping("now")public String now(){return LocalDateTime.now().format(DateTimeFormatter.ofPattern(dateformat));}// ...略
}

在页面访问,可以看到效果:

Nacos配置管理-微服务配置拉取相关推荐

  1. 微服务配置中心实战:Spring + MyBatis + Druid + Nacos

    转载自  微服务配置中心实战:Spring + MyBatis + Druid + Nacos 很多基于 Spring MVC 框架的 Web 开发中,Spring + MyBatis + Druid ...

  2. gateway nacos注册服务_使用Nacos作为微服务注册中心和配置中心

    使用Nacos作为微服务注册中心和配置中心 一.技术简介 Nacos是阿里系开发的兼容Spring Cloud的服务注册中心组件,是微服务国产化的先驱.Nacos作为与Eureka的对比,不仅具有Eu ...

  3. 七:对微服务配置中心的理解

    微服务专栏地址 专栏:微服务 微服务系列总目录 目录 微服务专栏地址 目录 1. 简介 2. 微服务配置中心是什么 3. 为什么需要微服务配置中心 4. 微服务配置中心实现技术 4.1 网罗的实现技术 ...

  4. GitHub 9K Star!Apollo作者手把手教你微服务配置中心之道

    作者 | 宋顺 编辑 | 小智 随着微服务的流行,应用和机器数量急剧增长,程序配置也愈加繁杂:各种功能的开关.参数的配置.服务器的地址等等.在这样的大环境下,传统的通过配置文件.数据库等方式已经越来越 ...

  5. 深度对比三种主流微服务配置中心

    在撰写这篇技术选型的文章之前,是比较犹豫的.因为,以其中一个开源项目开发者的身份,去写一篇三个开源项目的对比,即便很克制的去客观的比较,也很难有信服力.这就像,既是参赛选手,又想做裁判,观众肯定是不买 ...

  6. apollo修改配置刷新bean_微服务配置中心完全解读

    本文作者:风卿,Nacos 社区 committer. 在撰写这篇技术选型的文章之前,是比较犹豫的.因为,以其中一个开源项目开发者的身份,去写一篇三个开源项目的对比,即便很克制的去客观的比较,也很难有 ...

  7. Apollo微服务配置中心详解

    Apollo微服务配置中心详解 前言 一.Apollo架构 (一)简介 (二)角色介绍 (三)服务端实现 (四)客服端实现 二.Apollo部署 (一)准备数据库 (二)配置服务 1. 手动部署 (1 ...

  8. 基于 GateWay 和 Nacos 实现微服务架构灰度发布方案

    一.灰度发布 灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式.在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有 ...

  9. 微服务配置中心, 这个方案 Go 里用起来不输 SpringCloud

    微服务架构设计模式里有一条讲到,要设计可配置的服务.把服务从单体架构细分成微服务后,所有配置属性都集中存储在一个位置,更易于管理.这个集中存储管理配置的地方,就是配置中心. 使用配置中心还有一个好处就 ...

最新文章

  1. matlab的dft谱分析,数字信号处理基于matlab(用DFT作谱分析,窗函数的设计)
  2. java robot 控制 不用用户 界面_编写一个基于Java Robot类的屏幕捕获工具
  3. 新拟物素材|时髦iOS 主屏幕图标
  4. 卡尔曼滤波—建立状态空间表达式
  5. JavaWeb——MyBatis入门程序
  6. tensorflow 显存 训练_tensorflow手动指定GPU以及显存大小
  7. pkill mysql_centos下kill、killall、pkill命令区别
  8. 艰难前行的故事 (《梦断代码》读后感)
  9. 绘图之使用工作空间直接绘图
  10. 松下FP-XH系列PLC 断电保持寄存器使用注意事项
  11. MySQL 报错:Parameter ‘@XXX‘ must be defined.
  12. stc15f2k60s2.h
  13. 应急响应-linux-webshell查查杀工具:河马webshell查杀和深信服Webshell
  14. 配置pcie网卡指示灯
  15. 第7.5节 揭开Python类中self的面纱
  16. 小知识02:什么是FASS?
  17. wifi信号放大器除了易拉罐,还有免费wifi软件
  18. 什么颜色对眼睛最好?
  19. 触发器的四种应用场景
  20. 安装Google ChromeOS操作系统

热门文章

  1. 关于switch-case问题
  2. 在迷失中前进--hatita22年蹉跎岁月的长嘘短叹(短叹篇)
  3. 纯CSS实现气泡聊天框的方法
  4. Yii源码阅读笔记 - 日志组件
  5. AutoMapper2
  6. Nginx多站点虚拟主机实现单独启动停止php-fpm、单独控制权限设置
  7. (译文)在Ubuntu 14.04上成功运行ModelSim-Altera Starter Edition 10.1d
  8. form表单获取input对象浏览器区别
  9. 【Tomcat】如何解决catalina.out文件过大的问题
  10. SFP模块光信号强度知识介绍