构建配置中心创建一个基础Spring Boot工程,命名为config-server,并在pom.xml中引入以下依赖: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency>在程序主类中添加@EnableConfigServer注解@EnableConfigServer@SpringBootApplicationpublic class ConfigServerApplication { public static void main(String[] args) { SpringApplication.run(ConfigServerApplication.class, args); }}在application.properties文件中添加配置服务的基本信息和git仓库的相关信息spring.application.name=config-serverserver.port=7001#git路径,精确到具体仓库位置spring.cloud.config.server.git.uri=https://gitee.com/dongspace/config-file/#git uri下的相对搜索位置,可以配置多个,以",“分隔spring.cloud.config.server.git.search-paths=config-client,demospring.cloud.config.server.git.username=***spring.cloud.config.server.git.password=***Git配置仓库新建一个仓库,命名为config-file新建两个文件夹,分别命名为config-client和demo在config-client下新建配置文件application.properties、application-stg1.properties,并添加如下配置from=master#stg1中的配置from=master-stg1在demo文件夹下新建dongspace.properties、dongspace-stg1.properties,并添加如下配置from=dong-master#stg1中的配置from=dong-master-stg1配置规则详解配置信息的URL与配置文件的映射关系如下:/{application}-{profile}.properties/{label}/{application}-{profile}.properties/{application}/{profile}/[/{label}]上面的URL对应{application}-{profile}.properties,其中{application}对应配置文件名,{label}对应代码分支,默认为default以上通过浏览器访问的路径对应为:http://localhost:7001/application-stg1.propertieshttp://localhost:7001/master/application-stg1.propertieshttp://localhost:7001/application/default/master客户端配置创建一个基础Spring Boot工程,命名为config-client,并在pom.xml中引入以下依赖: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency>在bootstrap.properties中加入以下配置:server.port=7002spring.application.name=config-clientspring.cloud.config.profile=stg1spring.cloud.config.label=masterspring.cloud.config.uri=http://localhost:7001/创建一个测试类@RestControllerpublic class TestConfigController { @Value("${from}”) private String from; @RequestMapping("/testConfig") public Object testConfig() { return from; }}服务端的占位符配置实现多个服务对应一个仓库中的不同目录spring.cloud.config.server.git.uri=https://gitee.com/dongspace/config-file/#{application}对应访问服务的应用名spring.cloud.config.server.git.search-paths={application}实现一个服务对应目录下的一个仓库spring.cloud.config.server.git.uri=https://gitee.com/dongspace/{application}-conf基础架构客户端应用从config-server中获取配置信息遵从下面的执行流程:应用启动时,根据bootstrap.properties中配置的{application}、{profile}、{label},向Config Server请求获取配置信息。Config Server根据自己维护的Git仓库信息和客户端传递过来的配置定位信息去查找配置信息。通过git clone命令将找到的配置信息下载到Config Server的文件系统中。Config Server创建Spring的ApplicationContext实例,并从Git本地仓库中加载配置文件,返回给客户端使用。客户端应用获得外部配置信息后,加载到客户端的ApplicationContext实例。该配置内容的优先级高于Jar包内部的配置内容,在jar包中重复的内容将不会被加载。健康监测当使用占位符配置URI时,Config Server会默认加载application为app的仓库,根据之前的配置规则,服务端的健康检测器会不断检查https://gitee.com/dongspace/a… 仓库是否可以连通,这时访问配置中心的/health端点时返回的服务状态为"DOWN",当服务化配置中心时,将影响它的可用性判断,此时有两种解决方案:1.创建名为app-config的仓库;2.改变健康监测的配置如下spring.cloud.config.server.health.repositories.check.name=app2spring.cloud.config.server.health.repositories.check.label=masterspring.cloud.config.server.health.repositories.check.profiles=default其他配置安全保护首先在服务端pom.xml中添加Spring Security依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId></dependency>出现的问题初始提交码云时报push to origin/master was rejected错误解决方案如下:1.切换到自己项目所在的目录,右键选择GIT BASH Here,Idea中可使用Alt+F122.在terminl窗口中依次输入命令:git pullgit pull origin mastergit pull origin master –allow-unrelated-histories3.在idea中重新push自己的项目,成功!!!