原创 

Spring 系统启动时”注入"静态变量(或称为类变量)

分类:spring    365人阅读    IT小君  2023-03-22 18:38

问题场景:有时一些通用URL我们希望定义为静态变量来调用,但是url 基地址可能根据环境不同而不通。就会产生修改静态变量的需求

思路:定义组件,组件中注入配置,在spring 启动时,调用静态方法传入参数修改静态变量

具体代码如下:

1、定义配置注入组件并设置为spring boot 启动时运行:

package config;
import com.Constant;
import org.springframework.beans.factory.annotation;
import org,springframework.stereotype.Component;
import javax.annotation.PostConstruct;
@Component
public class StaticContextInitializer{
@value("${config.baseHost}")
private String baseHost;
@PostConstruct  //spring boot 启动时执行
public void init() { Constant.inittrip(baseHost); }
}

 

2、静态类定义

package com.Constant;
import org.springframework.beans.factory.annotation;
import org,springframework.stereotype.Component;
@Slf4j
@UtilityClass
public class Constant{
private String requestUrl;
@PostConstruct  //spring boot 启动时执行
public void inittrip(baseUrl) { requestUrl = baseUrl+"/getDetail" }
}

 

支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

 工具推荐 更多»