每个微服务都有自己的配置文件application-local.yml和bootstrap.yml, 这个两个配置文件的读取顺序是先读取bootstrap.yml文件,在读取application-local.yml文件,参数名相同,则后者覆盖前者。

提取公共参数是因为,eureka、zipkin等配置都是一样的,每一个微服务都要进行配置,很繁琐,而且配置一多,就心烦。

提取公共配置参数,要借助Spring Cloud Config,我这里是把配置文件放在了gitlab上,当然你也可以放在GitHub和其他相关的代码托管平台上。如下图

spring cloud config 官网里有这么一段话:

With file-based (git, svn, and native) repositories, resources with file names in application* (application.propertiesapplication.ymlapplication-*.properties, and so on) are shared between all client applications. You can use resources with these file names to configure global defaults and have them be overridden by application-specific files as necessary.

The #_property_overrides[property overrides] feature can also be used for setting global defaults, with placeholders applications allowed to override them locally.

也就是说gitlab上的application-local.yml和application-test.yml可以作为全局的配置文件,后面的-test和-local是作为占位符一样的存在。

占位符就是运行环境,dev、test、pro等,当然也可以自己制定名字,记得在读取config文件时指定好。就是下图中profile:local的配置项。

一定要分清读取顺序:

首先会读取bootstrap.yml里面的参数,

然后会读取gitlab上application.yml上的配置,

最后读取微服务本地的application.yml文件。

参数名相同,后者覆盖前者。

我本地的配置文件如下图:

这样你就可以把通用的公共配置参数提取到gitlab上的application文件上了,根据环境指定运行时要读取的文件,也就是占位符(-test、-local)

最新文章

  1. 基于Picture Library创建的图片文档库中的上传多个文件功能(upload multiple files)报错怎么解决?
  2. cmd 常用指令
  3. jQuery的dom操作(二)转
  4. 浅谈Android手机木马手工查杀
  5. RedHat Linux 安装oracle11g
  6. 设计模式——设计模式之禅day2
  7. 转载:flash 跨域 crossdomain.xml
  8. Hibernate执行sql语句
  9. Android源码之Gallery专题研究(2)
  10. Java动态代理(一)
  11. css块级元素和行内元素详细解析
  12. 上传插件webupload之调用拍照兼容问题
  13. PAT L3-016 二叉搜索树的结构
  14. selenium 安装
  15. 青云VPC网络配置
  16. libxml/HTMLparser.h file
  17. 黑镜第一至二季/全集Black Mirror迅雷下载
  18. docker开启api端口,docker启用加速
  19. 如何设计Spring读取某种文件的逻辑顺序
  20. lastIndexOf is not a function

热门文章

  1. 独立安装CentOS7.4全记录
  2. python_appium_模拟器启动app进行登录
  3. Win10配置ADB工具教程
  4. 用Python语言开发VTK程序的步骤
  5. rds
  6. 关于python的感想和turtle作图
  7. vue项目运行
  8. Chapter4_控制执行流程
  9. PNP的学习-P3P
  10. session实现原理(阿里面试题)