Spring Boot 2.0.4 集成 spring-cloud-config 2.0.1。
项目源码地址
一、配置config服务端
新建配置服务项目,如config-server。
1. 在config-server项目中添加依赖
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config</artifactId>
<version>2.0.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
</dependencies>
2. 创建配置仓库
在github上新建一个空项目:https://gitee.com/lilyssh/config-repo 作为配置仓库。
在config-repo项目中新建一个公用的配置文件application-dev.yml,内容如下:
logging:
level:
cn.lilyssh: info
dubbo:
registry:
address: zookeeper://ssh.qianxunclub.com:2181
再新建一个数据库配置文件mysql-dev.yml,内容如下:
spring:
datasource:
druid:
url: jdbc:mysql://db.qianxunclub.com:3306/demo
mybatis-plus:
global-config:
db-config:
id-type: AUTO
3. 在config-server项目application.yml
中配置仓库信息
spring:
cloud:
config:
server:
git:
uri: https://gitee.com/lilyssh/config-repo.git
basedir: config/data
search-paths: /**
- uri:上一步创建的配置仓库地址。
- basedir: 把远程仓库数据下载到本地的目录。由于源码中写着会访问到父级目录,所以此处需要设置为两级目录。
- search-paths: 要下载的远程仓库的目录。
4. 测试访问远程仓库配置
在浏览器中,输入地址http://localhost:8888/{app}/{profile} 由于刚在远程仓库建的配置文件名为application-dev.yml,所以需要访问
http://localhost:8888/application/dev 进行测试,会看到:
{
"name":"application",
"profiles":[
"dev"
],
"label":null,
"version":"9fdeb7331e3e78da436b0a404707c1873fe72076",
"state":null,
"propertySources":[
{
"name":"https://gitee.com/lilyssh/config-repo.git/application-dev.yml",
"source":{
"logging.level.cn.lilyssh":"info",
"spring.dubbo.registry.address":"zookeeper://ssh.qianxunclub.com:2181"
}
}
]
}
二、配置config客户端
1. 在order-provider项目中添加依赖
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config</artifactId>
<version>2.0.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
2. 新建配置文件bootstrap.yml
spring:
cloud:
config:
name: application,mysql
profile: dev
uri: http://config.qianxunclub.com
- name: 配置文件名的前半部分,如“db-dev.yml”中的db。如果是多个,以逗号分隔。
- profile: 配置文件名的后半部分,如"db-dev.yml中得dev。
- uri: 配置服务地址。
三、测试
大功告成!