SpringBoot整合Nacos配置中心,实现动态刷新

创建Spring Boot工程

添加pom依赖

启动Nacos并增加环境配置文件

修改bootstrap.yaml并启动Spring Boot

1、创建 Spring Boot 工程

这里通过新建 Maven 工程的方式来创建 Spring Boot 工程

1.1、创建 Maven 工程

SpringBoot整合Nacos配置中心,实现动态刷新_第1张图片

1.2、添加依赖

在新工程的 pom.xml 中添加如下内容:

    
    
        org.springframework.boot
        2.3.2.RELEASE
        spring-boot-starter-parent
    

    
        
        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-config
        
        
            org.springframework.boot
            spring-boot-starter-web
        
    

    
    
        
            
                com.alibaba.cloud
                spring-cloud-alibaba-dependencies
                2.2.5.RELEASE
                pom
                import
            
        
    

1.3、创建启动主类

新建 package,在 package 下新建类:

package com.wx;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ConfigDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(ConfigDemoApplication.class);
    }

}

注意:由于 pom.xml 文件中整合了 nacos ,如果此时运行启动类,项目会默认访问本地的 nacos 服务,即 http://localhost:8848 ,如果本地 nacos 服务未启动或者将 nacos 服务安装在其他服务器上,则会无法启动,不要着急,先往下看。

1.4 新建 bootstrap.yml 配置文件

在 resources 目录下, 创建 bootstrap.yml 配置文件

spring:
  application:
    name: configdemo  # 服务名称, 与 nacos 中配置的 DataId 相同
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1 # nacos 安装的服务器ip
        file-extension: yml

bootstrap.yml 是优先级最高的配置文件,因此将 nacos 安装在Linux服务器上的伙伴,需要在此文件中配置上 nacos 的地址。

1.5、在nacos中新建配置

SpringBoot整合Nacos配置中心,实现动态刷新_第2张图片

 

1.6、新建 Controller 类

package com.wx;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class TestController {

    @Value("${confValue}")
    private String confValue;

    @GetMapping("/test")
    public String test() {
        return confValue;
    }

}

1.7、启动工程

启动工程后,可以看到启动端口为 8080:

而且已经成功整合并访问了 nacos 服务。

1.8、获取配置

在 TestController.java 中,会从配置文件中获取 confValue 的值,接下来访问 localhost:8080/test 类试试是否成功获取了配置:

SpringBoot整合Nacos配置中心,实现动态刷新_第3张图片 

1.9、动态刷新

上面已经成功从 nacos 中获取到了配置,但此时 nacos 中的配置是不是动态刷新到代码中的。

1.9.1、添加注解 @RefreshScope

@RestController
@RefreshScope
public class TestController {

    @Value("${confValue}")
    private String confValue;

    @GetMapping("/test")
    public String test() {
        return confValue;
    }

}

添加注解以后,会保证 nacos 中配置的修改,会实时同步并且刷新到项目中。

然后重启工程。

1.10、动态刷新展示

SpringBoot整合Nacos配置中心,实现动态刷新_第4张图片

 SpringBoot整合Nacos配置中心,实现动态刷新_第5张图片

SpringBoot整合Nacos配置中心,实现动态刷新_第6张图片 

 

以上就是本文的全部内容,欢迎各位小伙伴提宝贵意见。

你可能感兴趣的:(Spring,Spring,Boot,spring,boot,java,spring)