简单了解一下SpringCloudConfig的properties的匹配原理(上)

1、简单了解

这是服务端

因为是需要通过网络访问git中的来访问得到properties/yaml

所有必然是需要有控制器来实现处理的。由于是SpringCloud项目,一般会自动打印系统注册端点,即使没有使用actuator。

所以第一步先从控制台简单看下注册了哪些端点

可以看到注册的端点与微服务实战中列出的一样,甚至还要多点,还支持json,通配符等等

 

具体maven包

org.springframework.cloud.config.server.environment

org.springframework.cloud.config.server.resource

2、查看源码中的两个Controller

 

可见一个个匹配规则对应一个个Controller映射方法,ResourceController与EnvironmentController在不同子包下,简单猜测一下:

Spring项目设计很规范,对于有.yaml .properties.json获取环境的有后缀的url,有-的匹配列为是环境特殊的,而对ResourceController中的匹配规则是/name/…….且没有通配符,没有后缀,就像是普通的Controller,其中name表示applicationName

其中ResourceController中是通过流,最终会转把Environoment转换为properties的字符串形式,再把String返回,但是也支持直接返回流,此时方法均有synchronized以支持同步。

3、查看ResourceController的retrieve方法

该方法是具体处理转化的

方法如下:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值