spring cloud config 简介

  • Spring Cloud Config为分布式系统中的外部化配置提供服务器和客户端支持。使用Config Server,您可以在所有环境中管理应用程序的外部属性。
  • Spring Cloud Config 分为两个部分 ,server端和client端。

server端配置服务器,管理配置信息

client端获取配置信息

创建并运行一个Spring Cloud Config Server

  • 创建一个名为config-server的应用,并添加spring-cloud-starter-parent,spring-cloud-config-server依赖,pom信息具体如下

    <?xml version="1.0" encoding="UTF-8"?>
    <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.zcr.test</groupId><artifactId>config-server</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><name>config-server</name><description>Demo project for Spring Boot</description><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.2.RELEASE</version></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-config-server</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Camden.SR6</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
    </project>

  • 创建application主类,并添加@EnableConfigServer注解,代码如下

    package com.zcr.spring;import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.cloud.config.server.EnableConfigServer;@SpringBootApplication
    @EnableConfigServer
    public class ConfigServerApplication {public static void main(String[] args) {SpringApplication.run(ConfigServerApplication.class,args);}
    }

  • 在本地创建一个配置文件db-service-dev.properties,格式如下

    sck.type=sck
    sck.url=jdbc:oracle:thin:@10.1.50.205:1521:orcl
    sck.class=oracle.jdbc.driver.OracleDriver
    sck.user=sddb
    sck.password=sddb
    eom.type=eom
    eom.url=jdbc:oracle:thin:@10.1.50.205:1521:orcl
    eom.class=oracle.jdbc.driver.OracleDriver
    eom.user=eom
    eom.password=eom

  • 在resources文件夹下创建application.properties,内容如下
    #tomcat端口号
    server.port=8888
    #配置文件在本地
    spring.profiles.active=native
    #配置文件的目录
    spring.cloud.config.server.native.search-locations=D:/workspace/GitHub/spring-config/config-file

    目录结构:

  • 运行应用并打开网址http://localhost:8888/db-service/dev,出现如下页面,证明配置文件发布成功

创建并运行一个Spring Cloud Config Client

  • 创建一个名为config-client的应用,并添加spring-cloud-starter-parent,spring-cloud-starter-config,spring-boot-starter-web依赖,pom信息具体如下

    <?xml version="1.0" encoding="UTF-8"?>
    <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.zcr.spring</groupId><artifactId>config-client</artifactId><version>1.0-SNAPSHOT</version><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.2.RELEASE</version></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Dalston.RC1</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build><repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository></repositories></project>

  • 在resources中创建bootstrap.properties(bootstrap.yml会在应用启动之前读取),格式如下

    #文件名
    spring.application.name=db-service
    #文件模式,默认为default
    spring.cloud.config.profile=dev
    #server端ip地址
    spring.cloud.config.uri= http://localhost:8888/
    #client端ip端口
    server.port=8881

  • 创建一个controller

    package com.zcr.spring;import org.springframework.beans.factory.annotation.Value;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;@SpringBootApplication
    @RestController
    public class ConfigClientApplication {public static void main(String[] args) {SpringApplication.run(ConfigClientApplication.class, args);}@Value("${sck.user}")String sckUser;@Value("${sck.password}")String sckPassword;@RequestMapping("/hello")public String showUserAndPassword(){String sb = "username is " + sckUser + "," + "password is " +sckPassword;return sb;}
    }

  • 启动Application,并访问http://localhost:8881/hello,出现如下界面,成功

SpringCloud Config 本地配置相关推荐

  1. SpringCloud Config 分布式配置

    SpringCloud Config 分布式配置 Dalston.RELEASE Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持.使用Config Server, ...

  2. SpringCloud版本Hoxton SR5 --- 第七讲:SpringCloud Config 分布式配置中心+整合bus、rabbitmq、actuator

    传送门:SpringCloud版本Hoxton SR5 --- 第一讲:认识 先看SpringCloud Config 可以完成的功能,或者说他在项目中的定位和作用. SpringCloud conf ...

  3. springcloud config 分布式配置中心

    一.介绍 1.场景: 微服务系统中,系统多.实例多,如果每个系统都有自己一套配置加载.维护的机制,会导致在生产过程中因为配置问题引发的不必要的沟通成本.故障风险.需要采用分布式配置中心统一管理.统一实 ...

  4. SpringCloud Config分布式配置中心

    目录 一.概述 二.Config服务端配置与测试 配置读取规则 三.Config客户端配置与测试 bootstrasp.yml 四.Config客户端之动态刷新 一.概述 官网:Spring Clou ...

  5. idea 链接github 无法成功登陆, SpringCloud Config 分布式配置中心配置

    Server前面加上https://  前缀 uri要写成链接地址 ,写成[git@github.com:godbar/hello-world.git] 不知道为啥总是报错,Auth fail

  6. SpringCloud config 配置中心集群配置以及整合消息总线BUS实现关联微服务配置自动刷新

    一.SpringCloud Config 基本配置中的问题 在上一章节<SpringCloud config 配置中心介绍与基本配置使用>中我们现实了配置中心的配置集中管理.调用微服务应用 ...

  7. 跟着狂神学SpringCloud(Rest环境搭建+Eureka服务注册与发现+ribbon+Feign负载均衡+Hystrix+服务熔断+Zuul路由网关+SpringCloud config分布)

    跟着狂神学SpringCloud SpringCloud 回顾之前的知识- JavaSE 数据库 前端 Servlet Http Mybatis Spring SpringMVC SpringBoot ...

  8. SpringCloud创建Config读取本地配置

    1.说明 Config Server获取配置支持的方式很多, 包括Git仓库(github/gitee等),任何与JDBC兼容的数据库, Subversion,Hashicorp Vault,Cred ...

  9. springCloud - 第7篇 - 配置文件管理中心 ( SpringCloud Config )

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 一.简介 分布式的系统往往有多个服务,会有不同的配置文件. 不同环境配置文件内容也各不相同: 开发环 ...

最新文章

  1. 【Whalepaper】CV论文研读 - Involution内卷:超越Convolution的新算子
  2. C#资源文件与与资源名称字符串之间的互相转化
  3. HALCON示例程序measure_circuit_width_lines_gauss.hdev电路板线宽检测
  4. Vue项目中使用基于pdf.js的vue-pdf插件在pc浏览器下阅览PDF文件
  5. python程序内存分析_python 如何测量运行中的程序内存 -- Valgrind
  6. html5 canvas+js贪吃蛇网页小游戏代码
  7. 工业自动化要学python_工业的自动化控制除了PLC等常规的以外,是否需要学习相关编程语言,如运动控制,数据采集,机器学习等需要学习什么编程语言...
  8. GMT和UTC时区概念
  9. 2. 表的操作:创建表、修改表、列约束和表约束、数据操作、删除表
  10. 你会换掉Postman吗?我正在用HTTP Client...
  11. Android http请求 工具类
  12. 2023USNews美国加州系大学排名
  13. 起重吊装资质证书如何办理通过?经验之谈
  14. 解决ORA-00054错误
  15. xmind各版本区别_制图心法 | 一文读懂XMind 8 和 XMind: ZEN的真正区别
  16. cometd: Bayeux Protocol
  17. 英文输入时的自动补全功能
  18. 模仿的两端分别是山寨和微创新
  19. 2017年1月6日 星期五 --出埃及记 Exodus 21:32
  20. 那些年、那些人、那些事(iprouter迟到三年的JNCIP回忆录)

热门文章

  1. js调用php会提前加载,为什么js代码里调用了php变量运行就明显变慢了
  2. 多叉树/图结构维护问题转线性结构——dfs序
  3. 最少硬币找零系列问题(01背包,完全背包,多重背包动态规划)
  4. 自动化测试学习之路--json、dom编程
  5. l开头的英文车标是什么车_行业冷知识 | 为什么汽车品牌都喜欢用动物做车标?...
  6. rust建深海_rust怎么移动自己的领地柜 | 手游网游页游攻略大全
  7. 云原生的本质_什么是云原生?云原生和传统软件有什么区别?有什么特征
  8. php对mysql解决乱码_PHP彻底解决mysql中文乱码-阿里云开发者社区
  9. Spring RCE 漏洞 CVE-2022-22965 的终极解决方案
  10. mysql8连接java_JAVA连接MYSQL8.0问题