美文网首页
SpringCloud Config配置中心

SpringCloud Config配置中心

作者: kaixingdeshui | 来源:发表于2020-11-19 01:44 被阅读0次

SpringCloud Config配置中心

官网

SpringCloud Config 官网

https://spring.io/projects/spring-cloud-config#learn

SpringCloud Config 官方说明文档

https://docs.spring.io/spring-cloud-config/docs/2.2.5.RELEASE/reference/html/#_quick_start

image.png image.png

快速集成示例

配置信息服务端

  1. pom导入依赖
 <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.5.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.learn.lai</groupId>
    <artifactId>springcloud-config-test</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springcloud-config-test</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Hoxton.SR9</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</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>


        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

启动类

@SpringBootApplication
@EnableConfigServer
public class SpringcloudConfigTestApplication {

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

}

2.application.yml配置github远程

#
server:
  port: 5001

#
spring:
  application:
    name: config-server
  cloud:
    config:
      server:
        git:
       # 远程github仓库
          uri: https://github.com/LaiHouWen/temp.git
          username: github 账号
          password: github 密码
# 本地仓库
#          uri: D:\eclipse_workspace\springcloud\springcloud-config-server\src\main\resources\configs

# actuator
#http://localhost:5001/actuator
management:
  endpoints:
    web:
      exposure:
        include: "*"

# 打印log日志
logging:
  level:
    root: warn
    org.springframework.cloud: debug

github远程仓库上的配置文件

image.png
http://localhost:5001/actuator/env
image.png
拉取配置信息成功截图
image.png image.png

注意:放在github上的配置文件必须在master分支上,在其它分支会报

org.springframework.cloud.config.server.environment.NoSuchLabelException: No such label: master

客户端

  1. pom导入依赖
 <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Hoxton.SR8</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--  config -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

2.启动类

@SpringBootApplication
@EnableEurekaClient
@EnableDiscoveryClient
public class SpringcloudConfigClientApplication {

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

}

controller请求

@RestController
public class HelloController {

    @GetMapping("/index")
    public Object getIndex(){
        return "获取配置中心的config";
    }

}

3.application.yml 配置类

server:
  port: 8006

bootstrap.yml 拉取配置类

spring:
  cloud:
    config:
    # 建议配置文件名为服务名
      name: hello
      uri: http://localhost:5001/
  profiles:
   #测试环境配置
    active: test

拉取test配置成功截图


image.png

相关文章

网友评论

      本文标题:SpringCloud Config配置中心

      本文链接:https://www.haomeiwen.com/subject/urxkiktx.html