1. 程式人生 > 其它 >SpringCloud中使用Nacos作為配置中心原理

SpringCloud中使用Nacos作為配置中心原理

使用了是Nacos的自動配置依賴

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    <version>2.2.5.RELEASE</version>
</dependency>

bootstrap.yml配置檔案

spring:
  cloud:
    nacos:
      # Nacos 控制檯新增配置:
      # Data ID:example.properties
      # Group:DEFAULT_GROUP
      config:
        server
-addr: 127.0.0.1:8848 prefix: example # 指定配置的字尾,支援 properties、yaml、yml,預設為 properties file-extension: properties username: nacos password: nacos

使用到nacos配置中心的bean上配置@RefreshScope 註解,標識這個bean的作用域

@RestController
@RequestMapping("/config")
@RefreshScope
public class
ConfigController { @Value("${useLocalCache:false}") private boolean useLocalCache; @RequestMapping("/get") public boolean get() { return useLocalCache; } }

以上面的配置為例子。

啟動過程中:

1、bean定義的設定

  @RefreshScope 註解標識 bean的生命週期(作用域)

  具體檢視資料:Spring系列四:Bean Scopes作用域:https://my.oschina.net/merryyou/blog/3119993

  如request作用域,標識為@RequestScope註解的bean,即等同於@Scope(WebApplicationContext.SCOPE_REQUEST),

    該bean的宣告週期為一次http請求開始到結束。即每一次獲取http請求獲取到的bean物件例項都是新建立的。

    而在一個http請求內引用的bean物件例項都是相同的物件。

  @RefreshScope標識的bean:標識bean的生命週期為當前配置沒發生變化的時間段內。

    即:當配置檔案發生變化(配置content的MD5值發生變化時),

    會觸發作用域:refresh的重新整理操作。將會重新建立bean例項,放入到作用域bean例項列表中。

啟動過程中作用域

SpringBoot啟動過程中:

  1、prepareContext()

  

作者:海綿般汲取
出處:https://www.cnblogs.com/gne-hwz/
版權:本文版權歸作者和部落格園共有
轉載:歡迎轉載,但未經作者同意,必須保留此段宣告;必須在文章中給出原文連線;否則必究法律責任