首页 > 编程语言 >【Java Web】从配置修改静态变量

【Java Web】从配置修改静态变量

时间:2023-11-09 18:46:00浏览次数:28  
标签:Web Java 静态 UPLOAD upload URL PREFIX import Constants

对象

@ConfigurationProperties(prefix = "system-upload-prefix")
@Configuration
@RefreshScope
@Data
public class SystemUploadPrefix {
    private String upload;
}

修改常量

@Component
public class Constants {
    @Autowired
    SystemUploadPrefix systemUploadPrefix;

    @PostConstruct
    public void loadSystemUploadPrefix() {
        UPLOAD_DEFAULT_PREFIX_URL = systemUploadPrefix.getUpload();
    }

    public static String UPLOAD_DEFAULT_PREFIX_URL = "/upload/";
}

nacos修改后刷新

import com.alibaba.cloud.nacos.NacosConfigManager;
import com.alibaba.nacos.api.config.ConfigChangeEvent;
import com.alibaba.nacos.api.config.ConfigChangeItem;
import com.alibaba.nacos.client.config.listener.impl.AbstractConfigChangeListener;
import com.deyatech.common.Constants;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;

@Component
public class NacosConfigListener extends AbstractConfigChangeListener implements InitializingBean {
    @Resource
    private NacosConfigManager nacosConfigManager;
    @Override
    public void afterPropertiesSet() throws Exception {
        nacosConfigManager.getConfigService().addListener("global.yaml", "DEFAULT_GROUP", this);
    }

    @Override
    public void receiveConfigChange(ConfigChangeEvent event) {
        for (ConfigChangeItem changeItem : event.getChangeItems()) {
            String value = changeItem.getNewValue();
            String key = changeItem.getKey();
            if (key.equals("system-upload-prefix.upload")) {
                Constants.UPLOAD_DEFAULT_PREFIX_URL = value;
                System.out.println("Listener UPLOAD_DEFAULT_PREFIX_URL -> " + Constants.UPLOAD_DEFAULT_PREFIX_URL);
            }
            if (key.equals("system-upload-prefix.secureAqMl")) {
                Constants.UPLOAD_SECURE_PREFIX_URL = value;
                System.out.println("Listener UPLOAD_SECURE_PREFIX_URL -> " + Constants.UPLOAD_SECURE_PREFIX_URL);
            }
            if (key.equals("system-upload-prefix.sourceMaterial")) {
                Constants.UPLOAD_SOURCE_MATERIAL_URL = value;
                System.out.println("Listener UPLOAD_SOURCE_MATERIAL_URL -> " + Constants.UPLOAD_SOURCE_MATERIAL_URL);
            }
        }
    }

}

 

标签:Web,Java,静态,UPLOAD,upload,URL,PREFIX,import,Constants
From: https://www.cnblogs.com/yangchongxing/p/17822525.html

相关文章

  • 封装java导出Excel工具类使用
     基于POI的导入导出工具类使用背景快速引入基本excel导入成对象合并excel导入成为对象导出复杂excel表格最后 背景自己封装了一个excel工具类,方便以后使用和部分可能有相同需求的朋友使用,现在做一个简单的记录快速引入第一步导包,maven包仅包含poi依赖,导入时注......
  • 封装java导出Excel工具类使用(二)
    目录背景快速引入基本excel导入成对象和合并excel导入成为对象导出基本excel表格注:本次更新的列表1对多样式同样适用于导出异形表中的列表最后背景自己封装了一个excel工具类,方便以后使用和部分可能有相同需求的朋友使用,现在做一个简单的记录快速引入第一步导包,maven包仅包含......
  • IDEA (JAVA) 内存使用高堆分析
    ====================HISTOGRAM====================Histogram.Top50byinstancecount[All-objects][Only-strong-ref]:1:[2.0M/141MB][1.75M/127MB]byte[]2:[1.99M/43.8MB][1.74M/38.3MB]java.lang.String3:[421K/15.1MB][369K/13.2MB]java.util.H......
  • JavaScript--String对象&自定义对象&Windows对象
    String对象 varstr1=newString("abc")varstr2="abc"trim():去除字符串前后两端的空白字符自定义对象  BOM对象 1、Windowconfirm方法会产生一个返回值varflag=confirm("");按确定返回true按取消返回falsesetTimeout()只执行一次setInterval()循环执行......
  • 如何修改网络配置(动态_静态IP)
    接口丝印设备名说明NET1eth1百兆网卡,位于核心板上NET2eth0千兆网卡,位于底板上1.配置静态IP  1.1千兆以太网固定IP方式 方法一  打开/etc/profilevi/etc/profile       在最后加上ifconfigeth0192.168.1.151gateway192.168.1.2up      重启开发......
  • 史上功能最全的Java权限认证框架!
    大家好,我是Java陈序员。权限认证是我们日常开发绕不过的话题,这是因为我们的应用程序需要防护,防止被窜入。在Java后端开发中,实现权限认证有很多种方案可以选择,一个拦截器、过滤器也许就可以轻松搞定。当然,现在也有很多成熟的框架,供我们选择。轻量的Shiro,Spring家族的SpringS......
  • java8 time to json_Java8 LocalDateTime 如何支持yyyy-MM-dd反序列化
    其实吧,从你的问题描述来看,我觉得你对于LocalDateLocalDateTimeLocalTime之间的区分以及Java8时间API的认识应该足够了,足够可以做一些简单使用的地步了,如果从我们旁观者角度来说,仅仅只是为了改你这个问题,其实之前回答的人都是可以的。比如上官元恒提到的直接把请求对象中的字段类......
  • JavaScript进阶
    闭包闭包(closure)是一个函数以及其捆绑的周边环境状态(lexicalenvironment,词法环境)的引用的组合。换而言之,闭包让开发者可以从内部函数访问外部函数的作用域。在JavaScript中,闭包会随着函数的创建而被同时创建。<body><script>//闭包:内层函数+外层函数变量/......
  • WebSocket魔法师:打造实时应用的无限可能
    1、背景在开发一些前端页面的时候,总是能接收到这样的需求:如何保持页面并实现自动更新数据呢?以往的常规做法,是前端使用定时轮询后端接口,获取响应后重新渲染前端页面,这种做法虽然能达到类似的效果,但是依然有很多缺点,缺点就不在这里说了,感兴趣的小伙伴可以自行查阅一下。现在让我们......
  • Day04-Java开发所需的前端技术
    HTTP请求请求行请求头请求体JavaScript函数一个字母占一个字节,一个汉字占三个字节//获取长度"字符串".length//获得字符串的urIEncode编码(特殊字符需要编码)encodeURIComponent("张三")//编码结果%E5%BC%A0%E4%B8%89get请求示例GET/test?name=zhang&age=18HTTP/1.1Host:lo......