参考:
http://www.ityouknow.com/springcloud/2017/05/22/springcloud-config-git.html
https://www.cnblogs.com/xiaoliu66007/p/8963934.html
关系图
版本控制
差异文件内容
wly-config-dev.properties
local.ip=192.168.1.0
local.port=8080
wly-config-test.properties
local.ip=192.168.1.1
local.port=8081
wly-config-product.properties
local.ip=192.168.1.2
local.port=8082
spring boot版本:2.0.3.RELEASE
spring cloud config server配置
pom.xml
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency>
application.yml
server:
port: 8080
spring:
application:
name: spring-cloud-config-server-wly
cloud:
config:
server:
# git配置:项目/${search-paths}/${application}-${profile}.properties
# cloud-config-wly/config/config/neo-config-dev.properties
git:
# 项目地址,换成自己的项目地址
uri: git@xxx:xxxx/cloud-config-wly.git
# 表示文件路径
search-paths: config
# 项目用户名,换成项目用户名
username: xxx
# 项目密码,换成项目密码
password: xxx
启动类(新增@EnableConfigServer注解)
package com.wang.springcloudconfig; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.config.server.EnableConfigServer; @EnableConfigServer @SpringBootApplication public class SpringcloudconfigApplication { public static void main(String[] args) { SpringApplication.run(SpringcloudconfigApplication.class, args); } }
启动服务
http://localhost:8080/wly-config/dev
spring cloud config client配置
pom.xml
<!-- 引入spring cloud config 客户端配置 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> <!-- 引入web模块 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
application.yml同级目录(src/main/resources)新增配置文件:bootstrap.properties
此文件会先于application.yml加载
# 相当于${application}
spring.cloud.config.name=wly-config
# 相当于${profile}
spring.cloud.config.profile=product
# 配置中心server服务url
spring.cloud.config.uri=http://localhost:8080/
# 相当于git分支
spring.cloud.config.label=master
application.yml
spring:
application:
name: spring-cloud-config-client
server:
port: 8081
controller
package com.wang.springcloudconfigclient.web;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Author wly
* @Date 2018/7/2 11:35
*/
@RestController
public class HelloController {
@Autowired
private Environment env;
@RequestMapping("/test")
public String test() {
return env.getProperty("local.ip") + "," + env.getProperty("local.port");
}
}
访问
http://localhost:8081/test
页面输出
192.168.1.2,8082