激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - Java教程 - springcloud使用consul作為配置中心

springcloud使用consul作為配置中心

2021-05-08 11:14廖文文 Java教程

這篇文章主要介紹了springcloud使用consul作為配置中心,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

spring cloud 中文手冊:https://springcloud.cc/spring-cloud-consul.html

springcloud使用consul作為配置中心

也就是說在我們使用consul config時最好在consul 建立相應的目錄結構 適用于某一個服務的目錄結構以及適用于所有的服務的目錄結構

springcloud使用consul作為配置中心

本列consul web ui :springboot為我們提供了三種環境dev:默認開發環境  test:測試環境  prod:生產環境

springcloud使用consul作為配置中心

ps:

1.每次當我們修改consul上面的配置信息的時候,會向我們的代碼發送一個/refresh請求刷新我們的工程,通過使我們的取值動態的刷新,不需要重啟項目, 但是當我們使用@value進行取值的時候,雖然可會取到值也會刷新項目但是不會更改我們的取值,還是取到項目啟動時候配置在consul上面的值,實時刷新。

2.當我們在全局的application的文件中配置跟某一個服務列如:server-sms中配置相同的屬性時, server-sms這個項目啟動的時候默認是先去找自己目錄下面的配置,再去找全局的配置,如果自己目錄下

實戰:

pom.xml文件配置:

?
1
2
3
4
<dependency>
    <groupid>org.springframework.cloud</groupid>
    <artifactid>spring-cloud-starter-consul-config</artifactid>
</dependency>

bootstarp.xml配置:(如果配置在application里面,他不會生效,bootstrap.yml先比applciation.properties加載)

?
1
2
3
4
5
6
7
8
9
10
11
spring:
 cloud:
  consul:
   host: 100.1.00.0
   #host: 00.0.100.200
   port: 8500
   enabled: true
   config:
    enabled: true  #默認是true --
    format: yaml  # 表示consul上面文件的格式 有四種 yaml properties key-value files
    data-key: configuration  #表示consul上面的key值(或者說文件的名字) 默認是data

format舉例說明兩種(本列中使用的是server-sms項目的yaml):

properties:springcloud使用consul作為配置中心

yaml:springcloud使用consul作為配置中心

取值方式:

1.通過enabledconfigurationproperties注解取值(啟動項目后修改consul上的屬性值,項目中的屬性值立即發生變化):

對應的bean:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//name要與consul上面的name寫的一樣,consul上面可以寫多級目錄 例如: userinfo: name: liaowenwen
//對應的寫configurationproperties(prefix="userinfo ") 如果項目使用中配置化東西比較多 建議采用這種形式 
 
@configurationproperties()
public class userinfo {
 
  private string name;//要與consul上面一致
 
  public string getname() {
    return name;
  }
 
  public void setname(string name) {
    this.name = name;
  }

controller代碼取值:

?
1
2
3
4
5
6
7
8
@autowired
private userinfo userinfo;
 
 
@apioperation(value="獲取consulinfo", notes="獲取consulinfo")
public string getconsulinfo() {
  return userinfo.getname();
}

項目啟動類:

?
1
2
3
4
5
6
@springbootapplication
@enablediscoveryclient
@enableconfigurationproperties({userinfo.class})
public class application {
  public static void main(string[] args){
    springapplication.run(application.class,args);}

2.通過value注解取值(項目啟動后修改consul上的值,項目中的值不發生變化,只有再次啟動項目獲取的值才是修改后的值,發送/refresh請求無效)

?
1
2
3
4
5
6
7
8
@value
private string name;
 
 
@apioperation(value="獲取consulinfo", notes="獲取consulinfo")
public string getconsulinfo(){
  return name;
}

3.static 取值

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
@component
@configuration
public class consulkv {
 
  public static string smsurl;
 
  public static string username;
 
  public static string password;
 
  @value("${ssbp.smsurl}")
  public void setsmsurl(string smsurl) {
    consulkv.smsurl = smsurl;
  }
 
  @value("${ccb.job.login.username}")
  public void setusername(string username) {
    consulkv.username = username;
  }
 
  @value("${ccb.job.login.password}")
  public void setpassword(string password) {
    consulkv.password = password;
  }

示例代碼地址: https://github.com/liaowenn/spring-cloud-consul-config

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/xiaonuo717/article/details/73289178

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲精品日韩色噜噜久久五月 | 正在播放91精 | 伦一区二区三区中文字幕v亚洲 | 国产永久免费观看 | 失禁高潮抽搐喷水h | 91av大片 | 亚洲精品毛片一区二区三区 | 精品在线观看一区 | 中文字幕在线观看精品 | 黄色电影免费提供 | 欧美精品一区二区三区四区 | 成人毛片视频免费看 | 久久婷婷一区二区三区 | 成人黄色小视频网站 | 51国产偷自视频区视频小蝌蚪 | 欧美性生活久久 | av在线免费观看网 | 亚州综合网| av免费不卡国产观看 | 日本精品网 | 欧美一级一级 | 99视频有精品 | 蜜桃91麻豆| 国产午夜免费不卡精品理论片 | 亚洲最大中文字幕 | 成人 精品 | 免费一级特黄欧美大片勹久久网 | 激情97| av成人免费看 | 亚洲精品成人悠悠色影视 | 成人精品aaaa网站 | 日韩美女电影 | 久久久久久久91 | 日韩欧美电影在线观看 | 一级免费视频 | 在线a毛片 | 日韩精品免费一区二区三区 | 久久免费视频精品 | 精品国产成人 | 欧美性激情视频 | 国内精品国产三级国产a久久 |