欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot集成Nacos全過程

 更新時間:2024年09月23日 08:49:52   作者:Java王小怪  
Nacos是阿里巴巴開源的項(xiàng)目,主要作為云原生應(yīng)用的注冊中心與配置中心,本文介紹Nacos的使用方法,包括依賴配置、配置文件的設(shè)置、啟動類注解使用,以及如何實(shí)現(xiàn)配置文件的動態(tài)刷新,使用Nacos可以有效管理和刷新服務(wù)配置,無需重啟應(yīng)用即可更新設(shè)置

簡介

Nacos 是阿里巴巴的新開源項(xiàng)目,其核心定位是 “一個更易于幫助構(gòu)建云原生應(yīng)用的集注冊中心與配置中心于一體的管理平臺”,又是我們口中所稱的配置和注冊中心。

上文說到如何安裝和啟動Nacos,那么現(xiàn)在我們就淺談下Nacos的使用方法。

依賴

Nacos作為阿里的開源項(xiàng)目,他的依賴也必然帶上了阿里,這一點(diǎn)注意別導(dǎo)錯依賴了。

我這里使用的是2.2.1RELEASE,在這里值得一提的是,最起碼nacos的大版本要和SpringBoot保持一致,注冊和配置中心的依賴保持一致?。。。?如果后面出問題了,記得看一下依賴)

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

配置文件

在這里要說一下,配置文件在這里使用的是bootstrap.yml,為系統(tǒng)的配置文件,其優(yōu)先級大于application.yml。

在這里我們也可以使用bootstrap.properties文件,其效果和yml文件相同。

spring:
  application:
    name: xiaoguai    #為服務(wù)名
  cloud:
    nacos:
      username: nacos
      password: nacos
      discovery:
        namespace: monitor
        group: monitor
        server-addr: localhost:8848
      config:
        file-extension: yaml #后綴名,只支持 properties 和 yaml 類型
        prefix: xiaoguai #文件名,如果沒有配置則默認(rèn)為 ${spring.appliction.name}
        namespace: monitor
        auto-refresh: true
        enable-remote-sync-config: true #啟用遠(yuǎn)程同步配置,
        timeout: 3000
        group: DEFAULT_GROUP  #配置組
        refresh-enabled: true
        server-addr: localhost:8848

下圖為Nacos的對應(yīng)關(guān)系:

在加上阿里的依賴后,啟動類上還要添加注解@EnableDiscoveryClient開啟配置。

mport org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

/**
 * @Author: xiaoguai
 * @Date: 2022-09/06/14:11
 */
@SpringBootApplication
@EnableDiscoveryClient
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class,args);

    }
}

啟動啟動類后,訪問nacos的地址https:localhost:8848/nacos,打開服務(wù)列表,為你的服務(wù),服務(wù)名對應(yīng)

spring.application.name:xiaoguai

代碼

要實(shí)現(xiàn)配置文件的動態(tài)刷新,還需要一個注解@RefreshScope

在需要動態(tài)刷新的controller上添加此注解

注意:@Value注解為org.springframework.beans.factory.annotation.Value包下的,不要導(dǎo)成Lombok下的了?。?!

@RestController
@RefreshScope
public class HelloController {

   @Autowired
   private MyConfiguration myConfiguration;

   @Value("${log.level}")
   private String level;

    @GetMapping("/info")
    public String getConfigInfo() {
        String all = myConfiguration.getUsername()+"<br>"+myConfiguration.getPassword()+level;
        System.out.println(all);
        return all;
    }
}

測試

在啟動之后訪問以上內(nèi)容

控制臺和網(wǎng)頁分別輸出為:

現(xiàn)在我們在不重啟應(yīng)用的情況下,修改Nacos的配置文件。

在上次的網(wǎng)頁進(jìn)行刷新操作,分別觀察網(wǎng)頁和控制臺的輸出:

這樣就完成了Nacos的動態(tài)配置和動態(tài)刷新了??!

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論