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

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。

一、簡介

分布式的系統往往有多個服務,會有不同的配置文件。

不同環境配置文件內容也各不相同: 開發環境、測試環境、生產環境。

為了方便管理數目眾多的配置文件,springcloud 有對應的配置文件管理:spring cloud config 。

在此組件中主要有 2 種 角色:config server ?配置文件管理中心 、

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??config client? 從 config server 中讀取真正需要的配置信息 。

配置文件支持放在本地,也支持放在遠程 Git 倉庫中 。

二、重用此系列工程的父 pom 工程 springcloud-base。

在其 pom 中加上依賴:

        <!--配置文件管理--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-autoconfigure</artifactId></dependency>

新建文件夾 config , 并設置相應配置內容:

config-client-pro.properties :

version = pro -1.1.1.11- FZW -1.1.1

config-client-test.properties :

version =  test-2.2.2.22

config-client-dev.properties :

version = dev-0.0.0.DEV-0.0.0

三、 新建 config-server 工程

1. file - new - module?

2. spring Initializr - module SDK 選擇自己的 JDK ,其余的可以不用填寫,next。

3. 填寫工程相關信息:包名、工程名等,next。

4. spring cloud config- 勾選 config server,next。

5. 工程名,代碼存放位置等,finish 。

6. 工程結構如下:

7.?pom.xml:

<?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.config</groupId><artifactId>config-server</artifactId><version>0.0.1-SNAPSHOT</version><name>config-server</name><description>配置文件管理 server</description><parent><groupId>com.base</groupId><artifactId>base-config</artifactId><version>0.0.1-SNAPSHOT</version></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-server</artifactId></dependency></dependencies></project>

8. 在工程啟動類上加注解:@EnableConfigServer? ,開啟配置文件管理服務功能 。

package com.config.configserver;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);}}

9. 配置文件中設置:

讀取的是 springcloud-base工程中新增的 config 文件夾下的配置文件信息。

# 工程名
spring.application.name=config-server# 端口
server.port=3333# git倉庫地址
spring.cloud.config.server.git.uri=https://gitee.com/FJ_WoMenDeShiJie/springcloud-base.git# 倉庫路徑
spring.cloud.config.server.git.searchPaths=config# 倉庫分支
spring.cloud.config.label=master# git倉庫用戶名 ( 公開庫-可不填 )
spring.cloud.config.server.git.username=# git倉庫密碼 ( 公開庫-可不填 )
spring.cloud.config.server.git.password=

10. 啟動工程訪問:http://localhost:3333/這里隨便寫/dev

表示訪問遠程倉庫中的配置文件成功 。訪問路徑最后的? dev? 在此測試時也可任意寫。

四、 新建 config-client?工程

1. file - new - module?

2. spring Initializr - module SDK 選擇自己的 JDK ,其余的可以不用填寫,next。

3. 填寫工程相關信息:包名、工程名等,next。

4. spring cloud config- 勾選 config client,next。

5. 工程名,代碼存放位置等,finish 。

6. 工程結構如下:

7.?pom.xml:

<?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.config</groupId><artifactId>config-client</artifactId><version>0.0.1-SNAPSHOT</version><name>config-client</name><description>配置文件管理 client</description><parent><groupId>com.base</groupId><artifactId>base-config</artifactId><version>0.0.1-SNAPSHOT</version></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId></dependency></dependencies></project>

8. 在工程啟動類上加注解:@RestController , 書寫?getVersion 方法,提供對外訪問。

package com.config.configclient;import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@SpringBootApplication
public class ConfigClientApplication {public static void main(String[] args) {SpringApplication.run(ConfigClientApplication.class, args);}@Value("${version}")String version;@RequestMapping(value = "/getVersion")public String getVersion() {return version;}/*** 增加此方法用以解決報錯:Could not resolve placeholder 'version' in value "${version}"* @return*/@Beanpublic static PropertySourcesPlaceholderConfigurer placeholderConfigurer() {PropertySourcesPlaceholderConfigurer c = new PropertySourcesPlaceholderConfigurer();c.setIgnoreUnresolvablePlaceholders(true);return c;}}

9. 配置文件設置:? 注意此配置文件的名字是:?bootstrap.properties 。

叫這個名字的原因:官方指定優先讀取此文件,bootstrap 在 application 之前加載 。

# 項目名
spring.application.name=config-client# 端口
server.port=4444# 倉庫分支
spring.cloud.config.label=master# 讀取文件:dev開發環境、test測試、pro生產
spring.cloud.config.profile=test# 配置文件管理服務 config-server 地址
spring.cloud.config.uri=http://localhost:3333/

此時設置為讀取 springcloud-base中的 配置文件 :config-client-test.properties

10. 啟動工程訪問:http://localhost:4444/getVersion

修改配置文件中訪問的文件:

此時設置為讀取 springcloud-base中的 配置文件 :config-client-dev.properties

重啟工程訪問:http://localhost:4444/getVersion

至此,config-server 從遠程倉庫讀取配置文件成功。?config-client 通過?config-server 讀取配置文件中的具體信息值也成功了。

在?config-client 配置文件中可通過修改?spring.cloud.config.profile 選項來設定讀取不同的配置文件 。

-------------------------------------------------------------

下一篇:springCloud - 第8篇 - 配置文件管理中心 - 集群模式(負載勻衡)使用

源碼見:https://gitee.com/FJ_WoMenDeShiJie/springcloud-base

https://gitee.com/FJ_WoMenDeShiJie/springcloud-config-server

https://gitee.com/FJ_WoMenDeShiJie/springcloud-config-client

-------------------------------------------------------------

PS:這個系列不定時更新,只是個人的學習分享,

內容全程參考書目:

《Spring Cloud 與 Docker 微服務架構空實戰?》、

《Spring Cloud 微服務實戰》及此書作者博客:http://blog.didispace.com/spring-cloud-learning/

《深入理解 Spring Cloud 與微服務構建》及此書作者博客:https://blog.csdn.net/forezp/article/details/70148833
--------------------------------------------------------------


以下出自:https://blog.csdn.net/forezp/article/details/81041028

config-server 啟動成功后,訪問路徑映射方式有以下幾種:

/{application}/{profile}[/{label}]
/{application}-{profile}.yml
/{label}/{application}-{profile}.yml
/{application}-{profile}.properties
/{label}/{application}-{profile}.properties

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/447601.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/447601.shtml
英文地址,請注明出處:http://en.pswp.cn/news/447601.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

成功必讀本:培養人脈的106個技巧

成功的道路上&#xff0c;人脈比知識更重要。發展人際關系應當是你優先級最高的事。《不要一個人吃飯( Never Eat Alone)》一書介紹了21世紀的交際規則。書中包括了許多實用技巧&#xff0c;讓你通過人際關系而興旺發達。 保留精華&#xff0c;以下是從書中總結的106條技巧。在…

springCloud - 第8篇 - 配置文件管理中心 - 集群模式(負載勻衡)使用

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 當微服務系統中 應用服務有很多時&#xff08;serviceA 、serviceB ...&#xff09;&#xff0c;會都從同一個配置中心讀取配置文件。此…

程序員的11個階段

程序員的職業生涯是一段充滿起伏的有趣經歷。考慮到其陡峭的學習曲線&#xff0c;完全可以預見你將經歷挫折、啟蒙、驕傲自大這幾個時期&#xff0c;以及穿插其間的各種心路歷程。在這篇文章中讓我們輕松一下&#xff0c;通過一系列搞笑 gif 圖來回顧其中的每一個階段 。 階段…

Docker 方式安裝 RabbitMQ (ribbitmq linux 部署)

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. 查找鏡像&#xff1a;&#xff08;management 版本的鏡像才有管理界面&#xff09; docker search rabbitmq:management2. 拉取鏡像…

中國股市6000點下跌創最大熊市 股民因貪欲被套牢

核心提示&#xff1a;人的欲望&#xff0c;他的那個欲望&#xff0c;他永遠在那個&#xff0c;你看漲了40我都不賣&#xff0c;還貪&#xff0c;還得到45&#xff0c;還貪。貪貪沒有完&#xff0c;跌到35了&#xff0c;35還覺得還能回去&#xff0c;跌30了。 鳳凰衛視5月14日《…

解決:c.r.c.impl.ForgivingExceptionHandler : An unexpected connection driver error occured

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. 我的情況&#xff1a; 在個人阿里云服務器上 docker 方式 安裝的 RabbitMQ&#xff0c;然后本地代碼連接一直報錯&#xff1a; 201…

中國股市低迷的根本原因

和訊網友“長江薦股”發文探討中國股市低迷的根本原因&#xff0c;我深表認同&#xff0c;特轉載于下&#xff1a; 1、當年股市為國企扭虧服務&#xff0c;給投資者埋下了后遺癥。1998年政府為了實現國企3年扭虧的目標&#xff0c;要求一家優質企業捆綁一家虧損企業一起上市&am…

解決:springcloud eureka 注冊的服務config-client 狀態Status:UNKNOWN (1)

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. eureka 注冊的服務config-client 的 Status 顯示為&#xff1a;UNKNOWN (1)&#xff1a; 2.原因 &#xff1a; 配置信息 eureka.cl…

窮人靠力,富人借力!看完你將明白一切!

有個窮人&#xff0c;因為吃不飽穿不暖&#xff0c;而在佛祖面前痛哭流涕&#xff0c;訴說生活的艱苦&#xff0c;天天干活累的半死卻掙不來幾個錢。 哭了半晌他突然開始埋怨道&#xff1a;“這個社會太不公平了&#xff0c;為什么富人天天悠閑自在&#xff0c;而窮人就應該天…

解決:springcloud 啟動 config-client 報錯:... .integration.config.HandlerMethodArgumentResolversHolder

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. springcloud 啟動 config-client 報錯&#xff1a; java.lang.ClassNotFoundException: org.springframework.integration.config.…

美國華裔科學家談免疫系統真相!運動,心情勝過一切藥品!

尋找疾病的真正病因 1928年&#xff0c;抗生素誕生了&#xff0c;我們向世人宣稱能夠控制所有感染性的疾病。但我們沒有想到&#xff0c;抗生素會給人類帶來一系列疾病。過去&#xff0c;醫學人員認為是病毒、細菌制造了疾病。但是現代研究發現&#xff0c;有10&#xff05;的病…

解決:RabbitMQ 連接報錯:amqp.AmqpConnectException: java.net.ConnectException: Connection refused: connect

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. springcloud 工程中 config-client 中使用到 RabbitMQ ,啟動工程報錯&#xff1a; org.springframework.amqp.AmqpConnectException…

中國股市下跌的秘密

價值投資似乎是股市投資中的不二法則。 但是價值投資的擁躉者近期遇到無數的疑惑&#xff0c;眾多公司股價跌破凈資產仍然無法止跌&#xff0c;而低至五倍市盈率的銀行股無人問津&#xff0c;盡管監管層越位充當了市場的評論員&#xff0c;公開宣稱藍籌股投資價值不菲&#xff…

springCloud - 第9篇 - 同步配置文件(消息總線方式)

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 一、 微服務系統中有多個服務應用&#xff0c;也會有多個配置文件。此時也可用 springcloud bus 來實現對配置文件的管理。 PS&#xf…

過度擴容 A股“虛胖”

新股擴容每周5到8家&#xff0c;再融資和大小非減持不斷&#xff0c;新三板預計今年推出&#xff0c;國際板開始預熱……擴容“大躍進”已成為A股市場難以承受之重。數據顯示&#xff0c;目前上證指數不到2500點&#xff0c;與最高點相比已跌去了六成&#xff1b;而如果以流通市…

Docker 方式安裝 zipkin (linux 、阿里云ECS上安裝)

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. 查鏡像&#xff1a; docker search zipkin2. 拉取鏡像&#xff1a;&#xff08;不寫明版本號時&#xff0c;默認使用最新版本&#…

京東上市了,員工有多少股票? .

近期中國互聯網公司接二連三在美國上市&#xff0c;媒體自媒體們也都跟跟打了雞血一樣&#xff0c;每一篇文章都不忘提及該公司創始人現在身價是多少&#xff0c;這些財富故事讀起來很刺激&#xff0c;不過背后&#xff0c;雖說不是「一將功成萬骨枯」&#xff0c;卻也多了不少…

springCloud - 第10篇 - 服務間調用追蹤 (zipkin 的使用)

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 一、 在微服務系統中&#xff0c;不同應用服務可能會有各種不同的相互調用 。 springcloud 集成了 zipkin 來實現對于不同服務調用的追蹤…

廣東48.6萬人資產超600萬 華東超600萬人群最多

中國有290萬人資產超600萬元 6.7萬人資產過億 個人資產600萬元以上有290萬人 億萬資產以上的人有6.7萬人 胡潤研究院昨天發布的《2014中國高凈值人群心靈投資白皮書》&#xff08;以下簡稱《白皮書》&#xff09;顯示&#xff0c;截至2013年年底&#xff0c;全國個人資產600…

Idea 同一工程根據不同配置文件啟動、idea 同一工程多實例同時運行

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 一、需求&#xff1a;有一個 eureka 工程&#xff0c;有2個配置文件。需要根據不同的配置文件啟動 2 次&#xff0c;并保證 2 個實例同時…