Spring Cloud Config配置中心版本踩坑

前言

由于此次的客户只要求config配置中心使用直连模式,对高可用要求不高,故只需要配置一个config-server即可,然后在各个client端接入config-client的依赖即可

一、config-server

pom依赖


    org.springframework.cloud
    spring-cloud-config-server

需要注意的是,springboot2.0.x版本对应的cloud版本是Finchley的版本

我这里是2.0.5的版本,对应的 cloud版本是:

Finchley.SR2

这里特别注意,2.0.x的版本,config的版本最多支持到2.0.5,笔者在此处踩坑了,一直用2.0.6编译都不通过

Spring Cloud Config配置中心版本踩坑_第1张图片

补充一点:后面我又尝试了Finchley.SR4的版本,可以兼容2.0.6的版本

另外,如果是2.1.x的版本,对应的cloud版本是:

Greenwich.RELEASE

bootstrap.yml文件配置

server:
  port: 8011
spring:
  application:
    name: spring-cloud-config-server
  cloud:
    config:
      server:
        git:
          uri: [email protected]:order-center/spring-cloud-config-repo.git
          ignoreLocalSshSettings: true
          cloneOnStart: true
#          hostKey: gitlab.deepexi.top #当指定hostKeyAlgorithm时需要加上
#          hostKeyAlgorithm: ssh-rsa
          privateKey: |
                      -----BEGIN RSA PRIVATE KEY-----
                      XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                      ...
                      -----END RSA PRIVATE KEY-----

 启动类加注解

@SpringBootApplication
@EnableConfigServer
public class ConfigServer {
    

二、config-client

pom依赖


	org.springframework.boot
	spring-boot-starter-web




	org.springframework.cloud
	spring-cloud-starter-config



	org.springframework.boot
	spring-boot-starter-actuator

bootstrap.yml文件配置

spring:
  application:
    name:  order
  profiles:
    active: dev
  cloud:
    config:
      uri: http://localhost:8011 # config server地址
      label: master #配置文件的Git项目地址对应的分支
      #      fail-fast: true
      retry:
        initial-interval: 2000
        max-interval: 10000
        multiplier: 2
        max-attempts: 10

在使用到的地方配置注解,这里以test接口为例

@SpringBootApplication
@RefreshScope
@RestController
public class StartupApplication {

    @Value("${spring.datasource.url}")
    private String datasourceUrl;

    @RequestMapping("/test")
    public String home() {
        return datasourceUrl;
    }

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

测试

访问localhost:8080/test 即可返回在git仓库地址配置spring.datasource.url属性的信息

你可能感兴趣的:(开发工具,微服务)