天天看点

springcloud:配置中心git示例

spring cloud config

在我们了解spring cloud config之前,我可以想想一个配置中心提供的核心功能应该有什么

spring cloud config可以完美的支持以上所有的需求。

spring cloud config项目是一个解决分布式系统的配置管理方案。它包含了client和server两个部分,server提供配置文件的存储、以接口的形式将配置文件的内容提供出去,client通过接口获取数据、并依据此数据初始化自己的应用。spring cloud使用git或svn存放配置文件,默认情况下使用git,我们先以git为例做一套示例。

首先在github上面创建了一个文件夹config-repo用来存放配置文件,为了模拟生产环境,我们创建以下三个配置文件:

每个配置文件中都写一个属性neo.hello,属性值分别是 hello im dev/test/pro 。下面我们开始配置server端

server 端

1、添加依赖

只需要加入spring-cloud-config-server包引用既可。

2、配置文件

3、启动类

启动类添加@enableconfigserver,激活对配置中心的支持

到此server端相关配置已经完成

4、测试

返回信息如下:

上述的返回的信息包含了配置文件的位置、版本、配置文件的名称以及配置文件中的具体内容,说明server端已经成功获取了git仓库的配置信息。

返回:neo.hello: hello im dev

仓库中的配置文件会被转换成web接口,访问可以参照以下的规则:

以neo-config-dev.properties为例子,它的application是neo-config,profile是dev。client会根据填写的参数来选择读取对应的配置。

client 端

主要展示如何在业务项目中去获取server端的配置信息

引入spring-boot-starter-web包方便web测试

需要配置两个配置文件,application.properties和bootstrap.properties

application.properties如下:

bootstrap.properties如下:

特别注意:上面这些与spring-cloud相关的属性必须配置在bootstrap.properties中,config部分内容才能被正确加载。因为config的相关配置会先于application.properties,而bootstrap.properties的加载也是先于application.properties。

启动类只需要@springbootapplication注解就可以

4、web测试

使用@value注解来获取server端参数的值

<a href="https://github.com/ityouknow/spring-cloud-starter">示例代码</a>