由於是springboot的項目,不一樣於springmvc,不須要寫那麼多的xml配置文件。nginx
第一步,仍是放入pom的依賴spring
<dependency> <groupId>com.baidu.disconf</groupId> <artifactId>disconf-client</artifactId> <version>2.6.36</version> </dependency>
第二步,是寫一個配置類springboot
package com.xxx.xxx.disconf.config; import com.baidu.disconf.client.DisconfMgrBean; import com.baidu.disconf.client.DisconfMgrBeanSecond; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * Created by 關鍵 on 2018-01-29. * Disconf配置類 */ @Configuration public class DisConfig { @Bean(destroyMethod = "destroy") public DisconfMgrBean getDisconfMgrBean() { DisconfMgrBean disconfMgrBean = new DisconfMgrBean(); disconfMgrBean.setScanPackage("com.wmq.consumer"); return disconfMgrBean; } @Bean(destroyMethod = "destroy", initMethod = "init") public DisconfMgrBeanSecond getDisconfMgrBean2() { return new DisconfMgrBeanSecond(); } }
第三步,在resources目錄下放入disconf.properties服務器
# 是否使用遠程配置文件 # true(默認)會從遠程獲取配置 false則直接獲取本地配置 enable.remote.conf=true # # 配置服務器的 HOST,用逗號分隔 127.0.0.1:8000,127.0.0.1:8000 # conf_server_host=http://xxx.xxx.xxx.xxx:xx # 版本, 請採用 X_X_X_X 格式 version=1_0_0_0 # APP 請採用 產品線_服務名 格式 app=spring-boot-xxx-xxx-xxx # 環境 env=online # debug debug=true # 忽略哪些分佈式配置,用逗號分隔 ignore= # 獲取遠程配置 重試次數,默認是3次 conf_server_url_retry_times=1 # 獲取遠程配置 重試時休眠時間,默認是5秒 conf_server_url_retry_sleep_seconds=1
大概說一下這裏面啥意思,conf_server_host,就是你以前配置服務器nginx的地址。app很差解釋,上圖mvc
總之就是跟你服務端創建的保持一致。app
環境就是你創建配置項是在哪裏創建的,如圖分佈式
第四步,選好你在代碼中哪些常量,所有在上圖中加入配置項,錄入進去,這個是能夠隨時在線修改的,無需到代碼中修改,無需改一個常量要從新編譯一次代碼。spring-boot
第五步,在代碼中使用配置項this
@Service public class PriceService { private double money = 1000; private static final String KEY = "money"; /** * 單項配置項 */ @DisconfItem(key = KEY) public double getMoney() { return money; } public void setMoney(double money) { this.money = money; } }
@DisconfItem(key = KEY)這個是很重要的一個標識,就是使用在disconf中配的money這個常量url
這裏配成了100,運行你調用這個常量的代碼
至此springboot使用disconf就結束了。