SpringCloud-Config分布式配置代碼示例
概述
Spring Cloud Config為分布式系統(tǒng)中的外部化配置提供服務(wù)器端和客戶端支持。使用Config Server,您可以在中心位置管理所有環(huán)境中應(yīng)用程序的外部屬性??蛻舳撕头?wù)器上的概念都與Spring Environment和PropertySource抽象映射相同,因此它們非常適合Spring應(yīng)用程序,但可以與以任何語(yǔ)言運(yùn)行的任何應(yīng)用程序一起使用。
在應(yīng)用程序從開發(fā)人員到測(cè)試人員再到生產(chǎn)人員的整個(gè)部署過程中,您可以管理這些環(huán)境之間的配置,并確保應(yīng)用程序具有它們遷移時(shí)所需的一切。服務(wù)器存儲(chǔ)后端的默認(rèn)實(shí)現(xiàn)使用git,因此它輕松支持帶標(biāo)簽的配置環(huán)境版本,并且可以通過各種工具來訪問這些內(nèi)容來管理內(nèi)容。添加替代實(shí)現(xiàn)并將其插入Spring配置很容易。
•去碼云創(chuàng)建倉(cāng)庫(kù),克隆到本地文件夾,配置application.yml文件

•application.yml配置
spring: profiles: active: dev --- spring: profiles: dev application: name: springcloud-config-dev --- spring: profiles: test application: name: springcloud-config-test
•把這個(gè)文件提交到碼云上,總共四步。
第一步:
把文件添加到暫存區(qū)
git add
在這里添加

第二步:
查看狀態(tài)
git status
第三步:
提交
git commit -m "fist commit" //fist commit是描述信息
第四步:
push到遠(yuǎn)程
git push origin master
測(cè)試:成功

•創(chuàng)建服務(wù)端Server項(xiàng)目
•導(dǎo)入依賴
<dependencies>
<!--config-->
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-config-server -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
<!--actuator完善監(jiān)控信息-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
•編寫配置
server:
port: 3344
spring:
application:
name: springcloud-congi-server
#連接遠(yuǎn)程倉(cāng)庫(kù)
cloud:
config:
server:
git:
uri: https://gitee.com/springandspring/springcloud-config.git #這里的uri是碼云上自己創(chuàng)建的倉(cāng)庫(kù)HTTPS下載的地址
•開啟功能
@EnableConfigServer
•測(cè)試

•更上面一樣

•config-client配置
spring: profiles: active: dev --- server: port: 8201 #spring的配置 spring: profiles: dev application: name: springcloud-provider-dept #Eureka的配置,服務(wù)注冊(cè)到哪里 eureka: client: service-url: defaultZone: http://eureka7001.com:7001/eureka/ --- server: port: 8202 #spring的配置 spring: profiles: test application: name: springcloud-provider-dept #Eureka的配置,服務(wù)注冊(cè)到哪里 eureka: client: service-url: defaultZone: http://eureka7001.com:7001/eureka/
•執(zhí)行上面的四步,push到遠(yuǎn)程

•創(chuàng)建一個(gè)client客戶端新項(xiàng)目
•導(dǎo)入依賴
<dependencies>
<!--config-->
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-config -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
•編寫bootstrap配置
#系統(tǒng)級(jí)別的配置 比用戶級(jí)別設(shè)置先執(zhí)行 spring: cloud: config: profile: dev #生產(chǎn)環(huán)境 name: config-client #需要從git上讀取的資源名稱,不需要后綴 label: master uri: http://localhost:3344 #連接服務(wù)端的地址 #相當(dāng)于http://localhost:3344/master/config-client-dev/master
編寫application配置
#用戶級(jí)別的設(shè)置 spring: application: name: springcloud-config-client-3355
•編寫啟動(dòng)類
•編寫Controller
@RestController
public class ConfigClientController {
@Value("${spring.application.name}")
private String applicationName;
@Value("${eureka.client.service-url.defaultZone}")
private String eurekaServer;
@Value("${server.port}")
private String port;
@RequestMapping("/config") //請(qǐng)求這個(gè)路徑獲取config-client配置里面的信息
public String getConfig(){
return "applicationName"+applicationName+
"eurekaServer"+eurekaServer+
"port"+port;
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 解決SpringCloud Config結(jié)合github無法讀取配置的問題
- springCloud config本地配置操作
- SpringCloud Config配置加密解密用法解析
- SpringCloud Config使用本地倉(cāng)庫(kù)及map注入
- SpringCloud配置中心Config過程解析
- Springcloud Config支持本地配置文件的方法示例
- springcloud config配置讀取優(yōu)先級(jí)過程詳解
- 詳解SpringCloud Config配置中心
- SpringCloud之分布式配置中心Spring Cloud Config高可用配置實(shí)例代碼
- SpringCloud微服務(wù)之Config知識(shí)總結(jié)
相關(guān)文章
Java enum的用法詳細(xì)介紹及實(shí)例代碼
這篇文章主要介紹了Java enum的用法詳細(xì)介紹及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-02-02
javacv-ffmpeg ProcessBuilder批量旋轉(zhuǎn)圖片方式
為了批量處理大量圖片的旋轉(zhuǎn),可以使用javacv-ffmpeg結(jié)合ProcessBuilder,首先在maven配置文件中添加ffmpeg及javacpp依賴,javacpp支持調(diào)用C/C++方法,而ffmpeg基于C語(yǔ)言,使用ProcessBuilder創(chuàng)建進(jìn)程調(diào)用ffmpeg方法2024-09-09
如何在springboot中引入?yún)?shù)校驗(yàn)
一般我們判斷前端傳過來的參數(shù),需要對(duì)某些值進(jìn)行判斷,是否滿足條件,而springboot相關(guān)的參數(shù)校驗(yàn)注解,可以解決我們這個(gè)問題,本文給大家介紹如何在springboot中引入?yún)?shù)校驗(yàn),感興趣的朋友一起看看吧2023-12-12
用Java設(shè)計(jì)實(shí)現(xiàn)多實(shí)例多庫(kù)查詢方式
這篇文章主要介紹了用Java設(shè)計(jì)實(shí)現(xiàn)多實(shí)例多庫(kù)查詢方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
Java中將List拆分為多個(gè)小list集合的實(shí)現(xiàn)代碼
這篇文章主要介紹了Java中如何將List拆分為多個(gè)小list集合,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03

