【2】Spring-cloud 模块研究之 Config Server 一个仓库多个项目共用一个服务中心

在使用如下方法时,请提前了解 spring cloud config 基础知识
官网地址 https://www.springcloud.cc/spring-cloud-config.html#_encryption_and_decryption

一、创建基础环境

  1. 创建maven项目,主要存储管理多个项目的配置文件,如图目录结构如下
    【2】Spring-cloud 模块研究之 Config Server 一个仓库多个项目共用一个服务中心_第1张图片

  2. 在master 分支下,提交到码云,如图
    【2】Spring-cloud 模块研究之 Config Server 一个仓库多个项目共用一个服务中心_第2张图片

二、创建spring-cloud-config-server maven项目,并添加config-server模块

  1. 创建模块时,勾选web、Config Server
    【2】Spring-cloud 模块研究之 Config Server 一个仓库多个项目共用一个服务中心_第3张图片

  2. 项目目录结构如下
    【2】Spring-cloud 模块研究之 Config Server 一个仓库多个项目共用一个服务中心_第4张图片

pom.xml 部分代码如下:


        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.cloud
            spring-cloud-config-server
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

application.yml

spring:
  application:
    name: spring-cloud-config-repo
  cloud:
    config:
      server:
        git:
          uri: https://gitee.com/fengrz/spring-cloud-config-repo
          username:
          password:
          search-paths: '{profile}'
server:
  port: 8900
logging:
  level:
    org.springframework.boot: debug
    org.springframework.cloud: debug
  • uri: https://gitee.com/fengrz/spring-cloud-config-repo 指的是资源库的地址
  • search-paths: ‘{profile}’ 这里要注意{profile}外面一定要加单引号
  • username 如果是私有库是需要填写的
  • password 如果是私有库是需要填写的
  • logging 配置好可以查看一些日志

ConfigServerApplication.java

@SpringBootApplication
@EnableConfigServer
public class ConfigServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(ConfigServerApplication.class, args);
    }

}
  • 启动类中要加入 @EnableConfigServer
  1. 配置完成可以尝试启动 ConfigServerApplication,启动正常

三、在需要使用配置服务中心的项目中增加如下配置

  1. pom.xml 文件中增加依赖关系
		
            org.springframework.cloud
            spring-cloud-starter-config
        
  1. bootstrap.properties

在项目的resources创建该文件,名称不允许修改

#对应着config server所获取配置文件的{application}和URL
spring.application.name=eurekaserver
spring.cloud.config.uri=http://localhost:8900/
spring.cloud.config.name=enrekaserver-test
#对应着文件后面的后缀{profile}
spring.cloud.config.profile=enreka-server-config
#分支
spring.cloud.config.label=master

  • spring.cloud.config.uri 指的是spring-cloud-config-server端的访问地址
  • spring.cloud.config.name
    enrekaserver-test 是配置文件的名称,如需要加载多个文件需要使用逗号隔开
    【2】Spring-cloud 模块研究之 Config Server 一个仓库多个项目共用一个服务中心_第5张图片
  • spring.cloud.config.profile
    指的是 enreka-server-config 目录,匹配 search-paths: ‘{profile}’ 中的profile
    这个属性非常重要,在不同项目中配置不同的目录
    【2】Spring-cloud 模块研究之 Config Server 一个仓库多个项目共用一个服务中心_第6张图片
  • spring.cloud.config.label=master 指的是git master 分支
  1. 尝试运行 EurekaServerApplication
    【2】Spring-cloud 模块研究之 Config Server 一个仓库多个项目共用一个服务中心_第7张图片

启动成功

【2】Spring-cloud 模块研究之 Config Server 一个仓库多个项目共用一个服务中心_第8张图片

  1. 按照相同方法在其他项目中尝试使用spring-cloud-config-server 加载配置文件,启动成功
    【2】Spring-cloud 模块研究之 Config Server 一个仓库多个项目共用一个服务中心_第9张图片

多个项目,共用一个spring-cloud-config-server 配置服务中心配置成功,以上只是冰山一角,继续深入研究

你可能感兴趣的:(spring-cloud,config-server)