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
![](https://img.haomeiwen.com/i8086220/b02b2c9a3d0a0a04.png)
![](https://img.haomeiwen.com/i8086220/9a575a1e9b1ed2e2.png)
快速集成示例
配置信息服务端
- 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远程仓库上的配置文件
![](https://img.haomeiwen.com/i8086220/d557772d3afbe405.png)
http://localhost:5001/actuator/env
![](https://img.haomeiwen.com/i8086220/c7e6cb0a3a871613.png)
拉取配置信息成功截图
![](https://img.haomeiwen.com/i8086220/9b8e638eecd8d2b1.png)
![](https://img.haomeiwen.com/i8086220/6bd3399ae89d429d.png)
注意:放在github上的配置文件必须在master分支上,在其它分支会报
org.springframework.cloud.config.server.environment.NoSuchLabelException: No such label: master
客户端
- 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配置成功截图
![](https://img.haomeiwen.com/i8086220/faa4df8c90ddca1f.png)
网友评论