目录
Java版本:1.8
Spring版本:5.1.8.RELEASE
Spring Boot版本:2.1.6.RELEASE
Spring Cloud版本:Greenwich.SR1
Spring Cloud Config服务端示例
在pom文件中添加spring-cloud-config-server依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
<relativePath/>
</parent>
<groupId>com.sean</groupId>
<artifactId>config-server</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>config-server</name>
<description>config-server</description>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Greenwich.SR1</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</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>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
在启动类设置开启Spring Cloud Config服务
package com.sean;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;
@EnableConfigServer
@SpringBootApplication
public class ConfigServerApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigServerApplication.class, args);
}
}
登陆自己的github账户,创建一个config仓库,并为该仓库创建test分支,在该分支下创建如下文件
Spring Cloud配置文件application.properties配置内容如下
server.port=8080
spring.application.name=config-server
spring.cloud.config.server.git.uri=https://github.com/seanzou88/config
spring.cloud.config.server.git.username=******
spring.cloud.config.server.git.password=******
程序启动后,访问http://localhost:8080/config-server/online/test(/{application-name}/{profile}[/{label}],其中label表示分支名称,不填写默认使用master分支)可以获取配置详细信息
特别需要注意的是,这个文件中的URL是不能直接访问的,仅仅当作标识使用
访问http://localhost:8080/test/config-server-online.properties([/{label}]/{application-name}-{profile}.properties,其中label表示分支名称,不填写默认使用master分支)获取特定环境配置信息
Spring Cloud配置文件application.properties中,也可以使用模糊匹配的方式设置github库
server.port=8080
spring.application.name=config-server
#默认配置
spring.cloud.config.server.git.uri=https://github.com/seanzou88/test
#请求路径包含config,将走该配置
spring.cloud.config.server.git.repos.rule1.pattern=*config*
spring.cloud.config.server.git.repos.rule1.uri=https://github.com/seanzou88/config
#默认情况下下,当请求发起时,git库才会被检查调用
#将改配置设置为true,项目启动后便会检查git库配置
spring.cloud.config.server.git.repos.rule1.cloneOnStart=true
spring.cloud.config.server.git.username=******
spring.cloud.config.server.git.password=******
Spring Cloud Config客户端示例
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.sean</groupId>
<artifactId>config-client</artifactId>
<version>0.0.1-SN