小小又开始学习了,这次学习的内容是 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;}
}
这样,就实现了配置信息的对立读取