# spring-cloud-source **Repository Path**: automannn/spring-cloud-source ## Basic Information - **Project Name**: spring-cloud-source - **Description**: springCloud的核心支撑源码(包括context和commons),添加一些简单的注释,用于学习 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2021-02-01 - **Last Updated**: 2023-05-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 解读概要 1. SpringCloud的核心模块,由 context和 commons组成,所有基于spring-cloud的模块,都至少包含这两个模块。 context模块,主要提供了bootstrap上下文配置项,远程配置,运行时配置刷新等功能。commons模块提供了 springBoot兼容性验证,服务发现,服务注册,断路器,客户端负载均衡等核心接口。相应接口的实现类,由各子应用模块实现。 2. SpringCloud的引入了上下文配置项,由spring.cloud.config指定,该配置项 `ApplicationContextInitializer`实现。 # 备忘(20220217) ## 版本问题 * 版本依赖管理基于Spring-Cloud-dependencies-2020.0.2 * spring-cloud源码版本基于 spring-cloud-3.0.1 * spring-boot基于 spring-boot-2.4.2 ## 配置优先级问题 * properties优于yaml * application优于bootstrap * **因为所有的数据源集合是一个有序队列,后加载的配置源总是在队尾,而查找是从队头开始的**。 # springConfig解读概要 1. spring-cloud-config项目,分为 server端,和 client端两个模块.其中,server端的主要作用是将远程的配置拉取到本地。并将本地的资源以restful服务的方式对外提供。默认情况下,远程仓库由git提供。 client端用于从server端获取配置,应用到 本地的客户端服务中。包含两种配置方式:1. 通过 HTTP URI 指定 Config Server,由ConfigServicePropertySourceLocator提供实现;2. 通过服务发现指定 Config Server;