springboot下nacos配置项修改

该代码段展示了如何在SpringBoot应用中使用Nacos作为配置中心,读取并修改YAML格式的配置文件,特别是更新`ccf-admin-service`中的`PUB_DINGDING_AGENTID`值。应用还集成了SpringCloudNacosConfig,支持配置的刷新。
摘要由CSDN通过智能技术生成
package com.unitechs.col.admin.utils;

import com.alibaba.nacos.api.NacosFactory;
import com.alibaba.nacos.api.config.ConfigService;
import com.alibaba.nacos.api.config.ConfigType;
import com.alibaba.nacos.api.exception.NacosException;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.yaml.snakeyaml.Yaml;

import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Properties;

@Component
public class NacosUtil {

    @Value("${spring.cloud.nacos.config.server-addr:}")
    private String serverAddr;

    public void get(){
        try {
//            String serverAddr = serverAddr;
            String dataId = "APP.yml";
            String group = "PLAT_PUB";
            Properties properties = new Properties();
            properties.put("serverAddr", serverAddr);
            ConfigService configService = NacosFactory.createConfigService(properties);
            String content = configService.getConfig(dataId, group, 5000);
            Yaml yaml = new Yaml();
            Map<String, Object> data = yaml.load(content);
            Map<String, Object> adminData = (Map<String, Object>) data.get("ccf-admin-service");
            adminData.put("PUB_DINGDING_AGENTID", "1111111");
            String newContent = content;
            String yamlStr = yaml.dumpAsMap(data);
            boolean isPublishOk = configService.publishConfig(dataId, group, yamlStr, ConfigType.YAML.getType());
            System.out.println(content);
        } catch (NacosException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

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

package com.unitechs.col.admin.constants;

import com.alibaba.nacos.api.config.ConfigType;
import com.alibaba.nacos.api.config.annotation.NacosConfigurationProperties;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;

// 将类定义为一个bean的注解,比如 @Component,@Service,@Controller,@Repository
// 或者 @Configuration
@Component
@RefreshScope
public class PushConfigParam {
//    @Value("${ccf-admin-service.PUB_DINGDING_AGENTID}")
    private String PUB_DINGDING_AGENTID;
    private String PUB_FEISHU_APPID;

    public String getPUB_DINGDING_AGENTID() {
        return PUB_DINGDING_AGENTID;
    }

    public void setPUB_DINGDING_AGENTID(String PUB_DINGDING_AGENTID) {
        this.PUB_DINGDING_AGENTID = PUB_DINGDING_AGENTID;
    }

    public String getPUB_FEISHU_APPID() {
        return PUB_FEISHU_APPID;
    }

    public void setPUB_FEISHU_APPID(String PUB_FEISHU_APPID) {
        this.PUB_FEISHU_APPID = PUB_FEISHU_APPID;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值