Spring cloud config 入门使用及指导说明(单机篇)

1、基本概念和方案

Spring config 项目提供了一个解决分布式系统的配置管理方案。它包含了Client和Server两个部分。
Spring cloud config Server 管理git或svn的外部配置,集中配置到所有客户端。
Spring cloud config Client 根据Spring框架的Environment和PropertySource从Spring cloud config Server 获取配置。

逻辑架构图如下:


Spring cloud config Server统一管理存储在git或者svn的配置文件,各子系统A、B集成Spring cloudconfig Client,并从Spring cloud config Server端获取相关的配置。

Spring cloud config Server 可通过Eureka Server支持集群负载均衡。

2、搭建Config Server

  第一步:创建一个spring boot 项目,config-server,pom.xml如下

<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.test</groupId>
  <artifactId>config-server</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <parent>  
	<groupId>org.springframework.boot</groupId>  
	<artifactId>spring-boot-starter-parent</artifactId>  
	<version>1.5.9.RELEASE</version>  
	<relativePath /> 
  </parent>  

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Camden.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>
	<dependency>
    	<groupId>org.tmatesoft.svnkit</groupId>
    	<artifactId>svnkit</artifactId>
	</dependency>
</dependencies>  
  
<build>
	<plugins>
		<plugin>  
    		<groupId>org.springframework.boot</groupId>  
    		<artifactId>spring-boot-maven-plugin</artifactId>  
    	</plugin>  
	<plugin>
        	<artifactId>maven-compiler-plugin</artifactId>
        	<configuration>
          	<source>1.8</source>
          	<target>1.8</target>
        	</configuration>
    	</plugin>
	</plugins>
</build>
</project>

第二步:新建一个启动类Application

@SpringBootApplication
@EnableConfigServer
public class Application
{

    public static void main(String[] args)
    {
        SpringApplication.run(Application.class, args);
    }

}

第三步:新建配置文件(src/main/resources),application.properties

SVN配置:(默认读取spring-config/trunk下的配置文件,根据实际情况修改)

server.port=9955

spring.profiles.active=subversion
spring.cloud.config.server.svn.uri=http://127.0.0.1:8090/svn/spring-config
spring.cloud.config.server.svn.username=test
spring.cloud.config.server.svn.password=test
#spring.cloud.config.server.svn.search-paths={application}
spring.cloud.config.server.svn.default-label=trunk
#spring.cloud.config.server.svn.basedir=/data
Git配置:

server.port=9955

spring.cloud.config.server.git.uri=https://github.com/huanghuixj/springcloudconfig.git
#spring.cloud.config.server.git.searchPaths=respo
spring.cloud.config.label=master
#spring.cloud.config.server.git.username=test
#spring.cloud.config.server.git.password=test

  • spring.cloud.config.server.git.uri:配置git仓库地址
  • spring.cloud.config.server.git.searchPaths:配置仓库路径
  • spring.cloud.config.label:配置仓库的分支
  • spring.cloud.config.server.git.username:访问git仓库的用户名
  • spring.cloud.config.server.git.password:访问git仓库的用户密码

第四步:构建并启动程序,测试访问

浏览器中输入,http://127.0.0.1:9955/jdbc-test.properties,或者http://127.0.0.1:9955/jdbc/test

3、搭建Config Client

第一步:创建一个Spring boot项目,config-client,pom.xml如下

<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.tesr</groupId>
  <artifactId>config-client</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  
      <parent>  
        <groupId>org.springframework.boot</groupId>  
        <artifactId>spring-boot-starter-parent</artifactId>  
        <version>1.5.9.RELEASE</version>  
        <relativePath /> 
    </parent>  
  
  <dependencies>  
    <dependency>  
        <groupId>org.springframework.boot</groupId>  
        <artifactId>spring-boot-starter-web</artifactId>  
    </dependency>  
    
    <dependency>  
        <groupId>org.springframework.cloud</groupId>  
        <artifactId>spring-cloud-config-client</artifactId>  
        <version>1.4.0.RELEASE</version>
    </dependency>  
</dependencies>    
  
  <build>
    <plugins>
	<plugin>  
		<groupId>org.springframework.boot</groupId>  
		<artifactId>spring-boot-maven-plugin</artifactId>  
	</plugin>  
	<plugin>
        	<artifactId>maven-compiler-plugin</artifactId>
        	<configuration>
        	<source>1.8</source>
        	<target>1.8</target>
        	</configuration>
       </plugin>
    </plugins>
  </build>
</project>

第二步:新建配置文件(src/main/resources),bootstrap.properties

#multiple files separated by commas ","
spring.cloud.config.name=jdbc,log
spring.cloud.config.profile=test

#if svn server then trunk, if git server then master
spring.cloud.config.label=trunk

#spring cloud server address 
spring.cloud.config.uri=http://127.0.0.1:9955

第三步:新建启动测试类Application,浏览器shuru

@SpringBootApplication
@RestController
public class Application 
{

    public static void main(String[] args) 
	{
        SpringApplication.run(Application.class, args);
    }

    @Value("${foo}")
    private String foo;
	
    @RequestMapping(value = "/hi")
    public String hi()
	{
        return foo;
    }
}

4、Demo下载,Git地址








  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值