SpringCloud之分布式配置中心组件Config从本地读取配置文件

一:Config Server简介

  1.  简介
            Config Server可以从本地仓库读取配置文件,也可以从远处Git仓库读取。本地仓库是指
     将所有的配置文件统一写在Config Server工程目录下。Config Server暴露Http API接口,Config
     Client通过调用Config Server的Http API接口来读取配置文件。       

二:实战之Config Server从本地读取配置文件

  1. 创建parent主MAVEN工程
           
           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.kgf</groupId>
      <artifactId>parent</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <packaging>pom</packaging>
      <name>parent</name>
      
       <!--继承一个父模块,然后再引入相应的依赖  -->
      <parent>
      	  <groupId>org.springframework.boot</groupId>
    	  <artifactId>spring-boot-starter-parent</artifactId>
    	  <version>2.0.3.RELEASE</version>
    	  <!--relativePath是可选的,maven会首先搜索这个地址,在搜索本地远程repositories之前  -->
    	  <relativePath />
      </parent>
      
      <properties>
      	 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      	 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
      	 <java-version>1.8</java-version>
      	 <spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
      </properties>
      
      <!--下面的方式通过import可以实现多继承的问题  -->
      <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>
    </project>

  2. 构建子服务Config Server
             
            ⑴创建启动类SpringCloudConfigServer.java
                      
                      这里需要注意的就是使用@EnableConfigServer注解去开启ConfigServer功能
            ⑵ 创建application.yml文件
                        
                       search-locations:通过这个属性指定客户端读取配置文件的路径
                       spring.profiles.active=native:表示从本地读取配置
            ⑶ shared路径下的 config-client-dev.yml文件,这个文件是Config的客户端需要读取的
                       
            ⑷pom.xml文件
                   
  3. 构建子服务config-client
            
           ⑴创建启动类SpringCloudConfigClientApplication.java
                       
           ⑵创建bootstrap.yml文件
                       
                       注意:这里我们为什么使用的是bootstrap.yml,而不是application.yml文件,因为bootstrap.yml
                                  文件相对于application.yml具有优先的执行顺序。这里我们指定了程序名为config-client.
                                  并且向Url地址为http://localhost:8769的Config Server读取配置文件。如果没有读取成功,
                                  则执行快速失败(fail-fast)。那么这个客户端是如何找到Config Server服务端给它提供的指定
                                  的配置文件的呢?这个主要是默认拼接bootstrap.yml中的两个属性变量:${spring.application.name},
                                  ${spring.profiles.active},两者以“-”相连,这样就构成了Config Server中读取的文件名了,就是
                                  config-client-dev.yml文件。
           ⑶pom.xml文件
                
  4. 测试,启动config server以及config client两个服务
       请求客户端的路径为:http://localhost:8762/hello
                   
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值