SpringCloud创建Config读取本地配置
1.说明
Config Server获取配置支持的方式很多,
包括Git仓库(github/gitee等),任何与JDBC兼容的数据库,
Subversion,Hashicorp Vault,Credhub和本地文件系统。
Git仓库方式请参考:
SpringCloud创建Config模块
本文介绍使用本地配置的方式,
包括本地类路径和文件系统来获取配置。
2.Git方式
Git方式中uri使用https协议:
spring:
application:
name: config-server
cloud:
config:
server:
git:
uri: https://gitee.com/bugzeroman/spring-cloud-config.git
或者Git方式中uri使用git协议:
spring:
application:
name: config-server
cloud:
config:
server:
git:
uri: git@gitee.com:bugzeroman/spring-cloud-config.git
strictHostKeyChecking: false
privateKey: |
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAuThLh+LHK0g7g/dJ4IUCyOYg7JNXQDGYt4khUYnJIw5pxX/a
... please input real id_rsa ...
UZp40gCDS64ve++Z/leNTMYH0YiAxNkcIp2Czvwm8P+hCkxvdgWgkbb5nuXfR1Gp
2OrvwOk/z076Wo3kTl0Oh+Tt9EB7bf1h2MC23QrRXUim8r0+Vjl3
-----END RSA PRIVATE KEY-----
3.本地配置方式
本地配置方式包括本地类路径和文件系统两种方式,
要使用本地配置方式,
首先设置spring.profiles.active为native,
然后spring.cloud.config.server.native.searchLocations指向任何静态的URL,
这样Config Server启动时,
才能加载到对应的配置文件。
4.本地类路径方式
通过在search-locations中指定classpath下的路径:
spring:
application:
name: config-server
profiles:
active: native
cloud:
config:
server:
native:
search-locations: classpath:/config-server/gitee
5.本地文件系统方式
通过在search-locations中指定file协议的本地路径:
spring:
application:
name: config-server
profiles:
active: native
cloud:
config:
server:
native:
search-locations: file:///D:/spring-cloud-demo/config-server/src/main/resources/config-server/gitee
需要注意的是Windows中的绝对路径需要额外的/:
file:///${user.home}/config-repo
而且额外的/是需要转义的,所有上面有3个/;
在Lunix环境下,只需要1个/即可:
file:/${user.home}/config-repo
6.启动测试
Config Server启动后,
访问http://localhost:9009/config-client-dev.yml:
server:
port: 8004
spring:
application:
name: config-client-dev
config:
info: config info dev
如果添加label,
访问http://localhost:9009/master/config-client-dev.yml,
同样能返回上面的结果。
因为会将HTTP资源的{label}参数附加到搜索路径上的后缀,
从搜索位置下与该名称相同的子目录查找属性文件,
然而现在config-client-dev.yml在根目录,
直接可以访问到,
{label}没有任何对应的子目录,
所以{label}不管修改为任何值,
都只能返回上面的结果。
7.更多说明
searchLocations的默认值与本地Spring Boot应用程序相同,
即[classpath:/, classpath:/config, file:./, file:./config]。
这不会将application.properties从服务器公开给所有客户端,
因为服务器中存在的所有属性源在被发送到客户端之前都已被删除。
本地配置方式非常适合快速入门和测试,
但是要在生产环境中使用它,
需要确保文件系统可靠并且可以在Config Server的所有实例之间共享。
推荐在隔离路径中的目录选择一种有意义的策略,
比如设置每个应用程序的子目录或每种配置文件的子目录。
SpringCloud创建Config读取本地配置的更多相关文章
- SpringCloud创建Config Client配置读取
1.说明 本文详细介绍配置中心客户端使用方法, 即Config Client到Config Server读取配置, 这里以创建Config Client服务为例, 基于已经创建好的Config Ser ...
- SpringCloud创建Config Client通过Eureka访问Config
1.说明 本文详细介绍配置中心客户端使用方法, 即Config Client到Config Server读取配置. 读取配置的方式有两种, 第一种是直接配置Configer Server的URL, 第 ...
- SpringCloud创建Config多客户端公共配置
1.说明 基于已经创建好的Spring Cloud配置中心, 在配置中心仅保存一套配置文件, 多个客户端可以通过配置中心读取到相同的配置, 而不需要在每个客户端重复配置一遍, 下面以一个Config ...
- SpringCloud创建Config模块
1.说明 本文详细介绍Spring Cloud创建Config模块的方法, 基于已经创建好的Spring Cloud父工程, 请参考SpringCloud创建项目父工程, 创建Config模块这个子工 ...
- SpringCloud创建Eureka Client服务注册
1.说明 本文详细介绍微服务注册到Eureka的方法, 即Eureka Client注册到Eureka Server, 这里用任意一个Spring Cloud服务为例, 比如下面已经创建好的Confi ...
- SpringCloud系列——Config 配置中心
前言 Spring Cloud Config为分布式系统中的外部化配置提供了服务器端和客户端支持.有了配置服务器,您就有了一个中心位置来管理跨所有环境的应用程序的外部属性.本文记录实现一个配置中心.客 ...
- SpringCloud(6)分布式配置中心Spring Cloud Config
1.Spring Cloud Config 简介 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件.在Spring Cloud中,有分布式配置中心组 ...
- java框架之SpringCloud(7)-Config分布式配置中心
前言 分布式系统面临的配置问题 微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中标会出现大量的服务.由于每个服务都需要必要的配置信息才能运行,所以一套集中式的.动 ...
- SpringCloud实战之初级入门(三)— spring cloud config搭建git配置中心
目录 1.环境介绍 2.配置中心 2.1 创建工程 2.2 修改配置文件 2.3 在github中加入配置文件 2.3 修改启动文件 3. 访问配置中心 1.环境介绍 上一篇文章中,我们介绍了如何利用 ...
随机推荐
- 一文读懂RESTful架构
转载自https://zhuanlan.zhihu.com/p/381554129 RESTful架构究竟是什么 别着急,想要了解RESTful,我们先来了解一位大佬Roy Thomas Fieldi ...
- 将图片打印到word中
1.生成模板文件 工具类: package com.sfec.snmgr.track.utils;import com.alibam.core.wechat.util.QRCodeUtil;impor ...
- 【Java 基础】 instanceof和isInstance区别详解
obj instanceof class 也就是说这个对象是不是这种类型, 1.一个对象是本身类的一个对象 2.一个对象是本身类父类(父类的父类)和接口(接口的接口)的一个对象 3.所有对象都是Obj ...
- 【MySQL】学生成绩
统计每个人的总成绩排名 select stu.`name`,sum(stu.score) as totalscore from stu GROUP BY `name` order by totalsc ...
- 【C/C++】string的长度
一般用 s.length() s.size() 两种 size也可以用于vector string和vector的区别 string输入直接cin vector一般类似压栈pushback 输入一般是 ...
- 【软件安装与配置】【Java】Eclipse For Java EE的安装
Eclipse For Java EE的安装 哔哩哔哩:萌狼蓝天 微信公众号:萌狼蓝天 博客:萌狼工作室 00 提前说明 因为编程涉及的环境配置资源比较多,所以我专门创建了一个文件夹(Developm ...
- 如何用three.js实现数字孪生、3D工厂、3D工业园区、智慧制造、智慧工业、智慧工厂-第十课
文章前,先聊点啥吧. 最近元宇宙炒的挺火热,在所有人都争相定义元宇宙的时候,资本就开始着手入场了.当定义明确,全民皆懂之后,风口也就过去了. 前两天看到新闻,新世界CEO宣布购入最大的数字地块,这块虚 ...
- 配置文件管理维护到gitlab上
一.简介 在日常维护服务器中,会修改配置文件或者相应脚本,在修改前要对文件进行按照日期备份,这样会很麻烦,频繁修改的时候也会懒得去备份多个. 维护脚本分为服务端和客户端,服务端监听端口,接收客户端的采 ...
- eslint使用和配置
1.全局安装 $ npm install -g eslint 2.初始化一个配置文件,得到一份文件名为 .eslintrc.js 的配置文件 eslint --init 3.配置.eslintrc.j ...
- [BUUCTF]PWN20——ciscn_2019_n_5
[BUUCTF]PWN20--ciscn_2019_n_5 附件 步骤: 例行检查,64位,没有开启任何保护 试运行一下程序,看看程序的执行情况 64位ida载入,找到main函数, 逻辑很简单,第一 ...