開發與維運

學習 | Spring Cloud Config 從入門到精通

小小又開始學習了,這次學習的內容是Spring Cloud 相關內容,這次學習的是Config相關的內容。
通過git完成分佈式的配置文件的部署,達到更新git,就可以更新配置信息的功能、

Server端

添加相關maven

這裡配置Server端
添加相關的依賴

 <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>

更新相關配置文件

server:
  port: 8080
spring:
  application:
    name: spring-cloud-config-server
  cloud:
    config:
      server:
        git:
          uri: https://github.com/meteor1993/SpringCloudLearning # git倉庫的地址
          search-paths: chapter6/springcloud-config  # git倉庫地址下的相對地址,可以配置多個,用,分割。
          username: #Git倉庫用戶名
          password: #Git倉庫密碼

其中,uri表明git的配置地址,search-paths表明git相關的配置路徑,這裡使用git作為分佈式的配置文件的存儲

其配置文件的路徑為

SpringCloudLearning/chapter6/springcloud-config/springcloud-config-pro.properties
訪問地址為 https://github.com/meteor1993/SpringCloudLearning/blob/master/chapter6/springcloud-config/springcloud-config-pro.properties

添加啟動類相關的註解

這裡添加EnableConfigServer類相關的註解,

用於激活Spring Cloud 對配置中心的相關激活

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;

@SpringBootApplication
@EnableConfigServer
public class DemoApplication {

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

}

這個時候訪問 http://localhost:8080/springcloud-config/pro 就可以實現對配置文件信息的訪問
其中springcloud-config為配置中心的文件名稱。pro為對應的相關的配置文件。
這裡對應的相關的配置文件,命名有

springcloud-config-dev.properties  對應於dev開發模式
springcloud-config-pro.properties  對應於pro開發模式
springcloud-config-test.properties  對應於test開發模式

其訪問的pro更改為相關的配置類型即可

訪問效果

訪問連接 http://localhost:8080/springcloud-config/pro 即可看到相關的配置信息

用戶端

前面服務端已經訪問完成,這裡訪問客戶端

新建子項目

添加相關的maven

<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-config -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-config</artifactId>
    <version>2.2.3.RELEASE</version>
</dependency>

添加配置文件

這裡配置文件分為兩個配置文件,分別為application.yml 和 bootstrap.yml 這兩個配置文件

application.yml

這裡配置application.yml 配置文件

server:
  port: 8081
spring:
  application:
    name: spring-cloud-config-client

再次配置bootstrap.yml 文件

spring:
  cloud:
    config:
      name: springcloud-config
      profile: dev
      uri: http://localhost:8080/
      label: master

這樣就完成了一次的配置文件書寫。
其中name為配置git的name,profile對應於版本。url對應於server的信息,label對應於相關的分支。

添加啟動類

package com.springcloud.configclient;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ConfigClientApplication {

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

}

添加配置信息讀取類

添加配置信息的讀取類

package com.springcloud.configclient.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @Author: shiyao.wei
 * @Date: 2019/7/4 16:19
 * @Version: 1.0
 * @Desc:
 */
@RestController
public class HelloController {

    @Value("${springcloud.hello}")
    private String hello;

    @RequestMapping("/hello")
    public String from() {
        return this.hello;
    }
}

這樣,就完成了配置信息的統一讀取

Leave a Reply

Your email address will not be published. Required fields are marked *