通过如何配置SpringCloudAlibaba,nacos如何配置这些就不说了推荐一下文章:点击进入
- 通过NacosPropertySourceLocator得到:dataId,group,fileExtension三个值,去调用NacosPropertySourceBuilder.builder
- 去nacos拉去配置,这里可以看到他进行拉去配置始终是使用dataId、group、fileExtension,builder方法不用特意的去关注,他是在NacosPropertySourceLocator里面调用的,主要继续往下看loadNacosData()方法,这个方法同样也是传入三个属性但是少了fileExtension变成了timeoutMs
- 接下来进入nacos-client包下面的NacosConfigService.getConfig(),这一步不用管,直接点进去getConfigInner()方法
- 红色框里面的都是一些验证、优先使用本地方法等等,重点是蓝色的框的代码,这里就是从远程nacos当中拉去配置文件的代码了
- 当然还是需要点进去看看这个代码,进入ClientWorker.getServerConfig()方法,进入这个方法可以非常清楚的看到,他在拼接查询参数,用的是HTTP请求,来去请求nacos里面的配置文件
- 在继续往下就是去解析这个http请求,解析里面的code代码了
- 最后就是正常吧这个配置文件当做yml来进行解析,解析完成之后正常启动项目