您现在的位置是:首页 >技术杂谈 >springboot集成nacos配置管理网站首页技术杂谈

springboot集成nacos配置管理

yzh_1346983557 2023-05-24 16:00:03
简介springboot集成nacos配置管理

官方文档:Nacos Spring Boot 快速开始

个人实践:

Namespace定义环境,例如:开发环境、测试环境、生产环境。

Group定义不同的应用。

DataId用来区分配置,例如:mysql配置,redis配置,kafka配置。

0、前提:已安装启动nacos。

去控制台创建新的命名空间:

在develop命名空间下,创建新的配置:dataId=mysql,group=yzh-maven

 

1、引入jar包

        <!-- https://mvnrepository.com/artifact/com.alibaba.boot/nacos-config-spring-boot-starter -->
        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>nacos-config-spring-boot-starter</artifactId>
            <version>0.2.12</version>
        </dependency>

注意:版本 0.2.x.RELEASE 对应的是 Spring Boot 2.x 版本,版本 0.1.x.RELEASE 对应的是 Spring Boot 1.x 版本。 

2、application.properties配置

## nacos配置
# 开启配置预加载功能
nacos.config.bootstrap.enable=true
nacos.config.server-addr=127.0.0.1:8848
nacos.config.namespace=56705fdc-7fb8-45bc-80aa-f79c7d94baa5
nacos.config.group=yzh-maven
#nacos.config.data-id=mysql
nacos.config.data-ids=mysql,redis
# 配置文件类型
nacos.config.type=properties
# 开启自动刷新
nacos.config.auto-refresh=true

官方配置文档说明:spring boot 0.2.2 以及 0.1.2版本新功能使用手册 · nacos-group/nacos-spring-boot-project Wiki · GitHub

3、代码使用

@RestController
@RequestMapping("/nacos")
@Slf4j
public class NacosController {

    @Value(value = "${name}")
    private String name;

    @Value(value = "${password}")
    private String password;

    @GetMapping("/get")
    public String get() {
        log.info("password={}", password);
        return password;
    }

    @GetMapping("/name")
    public String name() {
        log.info("name={}", name);
        return name;
    }
}

4、浏览器请求

http://localhost:8180/nacos/get
123

http://localhost:8180/nacos/name
admin

补充

问题

自动刷新:nacos.config.auto-refresh=true,实际不生效,未解决。

Open API

Open API 指南

例:发布配置,post请求,

curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?tenant=56705fdc-7fb8-45bc-80aa-f79c7d94baa5&dataId=mysql&group=yzh-maven&content=name=admin2"

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。