spring cloud config 原始碼分析

snowbaobao發表於2020-11-04

1、spring cloud config server通過rest介面對外提供配置服務。因此可以通過整合swagger對介面進行分析測試。通過掃描發現有3個controller提供介面。
在這裡插入圖片描述
2、Environment Controller
在這裡插入圖片描述
3、GET /admin/{name}/{profiles}

{
  "name": "config-client",
  "profiles": [
    "dev"
  ],
  "label": null,
  "version": null,
  "state": null,
  "propertySources": [
    {
      "name": "file:/shared/config-client-dev.yml",
      "source": {
        "server.port": 8762,
        "server.foo": "foo version 2"
      }
    }
  ]
}

在這裡插入圖片描述
4、NativeEnvironmentRepository.findOne中的使用SpringApplicationBuilder中ConfigFileApplicationListener進行yml檔案解析。ConfigFileApplicationListener後續文章進行解析
5、spring cloud config client。@EnableAutoConfiguration,工程啟動後,通過spring-cloud-context的spring.factories中的org.springframework.cloud.bootstrap.config.PropertySourceBootstrapConfiguration獲取配置。
在這裡插入圖片描述

相關文章