Spring Cloud 学习笔记(二)-Spring Cloud Config Server

*Spring Cloud 学习笔记(二)-Spring Cloud Config Server

**搭建过程

在上一篇搭建了基本的eureka的server和client用来实验,今天实验spring cloud config用以实现分布式配置管理中心
话不多说,创建新的模块wat-spring-config当作server如下图

https://www.cnblogs.com/shijunyu/p/9639109.html

  1. 为了后续的测试,需要在git上新建一个工程,增加分支dev,之后新建文件wat-spring-config-server-dev.yml内容如下:

    config:
        server:
            test: this is a test
  2. 修改工程的pom文件配置如下:

    <?xml version="1.0"?>
    <project
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
        xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>com.wat</groupId>
            <artifactId>wat-spring-cloud-study</artifactId>
            <version>${project.version}</version>
        </parent>
        <artifactId>wat-spring-config</artifactId>
        <name>wat-spring-config</name>
        <url>http://maven.apache.org</url>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-config</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-config-server</artifactId>
            </dependency>
    
        </dependencies>
    </project>
  3. 增加配置文件/src/main/resources/application.yml内容如下:

    # spring cloud settings
    spring:
      config:
        name: wat-spring-config-server
      cloud:
        config:
          label: dev
          profile: dev
          server:
            git:
              uri: http://**************.git
              username: *********
              password: *********
    
    # server port
    server:
      port: 8888

在这做一点说明,在config的配置文件中存在三个值spring.cloud.config.label、spring.cloud.config.profile、spring.config.name
这三个值用做识别git上面的配置文件位置,参照如下规则:
/{application}/{profile}[/{label}]
/{application}-{profile}.yml
/{label}/{application}-{profile}.yml
/{application}-{profile}.properties
/{label}/{application}-{profile}.properties
•application:表示应用名称,在client中通过spring.config.name配置
•profile:表示获取指定环境下配置,例如开发环境、测试环境、生产环境 默认值default,实际开发中可以是 dev、test、demo、production等
•label: git标签,默认值master

  1. 添加代码src/main/java/org/wat/spring/config/App.java

    package org.wat.spring.config;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
    import org.springframework.cloud.config.server.EnableConfigServer;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.bind.annotation.RestController;
    
    @Configuration
    @EnableAutoConfiguration
    @RestController
    @EnableConfigServer
    public class App {
    
        public static void main(String[] args) {
            SpringApplication.run(App.class, args);
        }
    
    }
  2. 以本程序为例启动程序,访问http://localhost:8888/wat-spring-config-server/dev/dev/,可以看到会返回一个json

    {
        "name": "wat-spring-config-server",
        "profiles": [
            "dev"
        ],
        "label": "dev",
        "version": "20308dee8ac6e1e9b47e781323dbf136953161ea",
        "state": null,
        "propertySources": [
            {
                "name": "http://*******.git/wat-spring-config-server-dev.yml",
                "source": {
                    "config.server.test": "this is a test"
                }
            }
        ]
    }

第二天由于遇到了些问题,因此发布的晚了点,希望能够坚持住
转载请注明出处:https://www.cnblogs.com/shijunyu/p/9634845.html

猜你喜欢

转载自www.cnblogs.com/shijunyu/p/9639109.html