Deprecated: 函数 get_currentuserinfo 自版本 4.5.0 起已弃用!请使用 wp_get_current_user() 替代。 in /data/home/qxu1142130176/htdocs/wp-includes/functions.php on line 5383
最新消息:

spring boot中用@value给static变量赋值的两种方法

Spring Boot 前端收藏 3390浏览

在spring boot项目中,工具类中的静态变量,如果要通过@Value赋值,是无法直接赋值的,原因是因为Spring的注解不支持静态的变量和方法,运行后发现注入失败。

@value(“${redis.host}”)

private static String redisHost;

解决办法:

1.使用中间变量赋值,给参数注入,执行set方法(这里注意set方法中的static要去掉)

public static String zhifuUrl;   
@Value("${zhifu.url}")  
public void setZhifuUrl(String url) {  
    CrmUtil.zhifuUrl = url;  
}

2.使用set方法赋值的,记得需要加上注解@PostConstruct

public static String zhifuUrl;   
@Value("${zhifu.url}")  
private String zhifuUrlTmp;  
@PostConstruct  
public void init() {  
    zhifuUrl = zhifuUrlTmp;  
}

最后,工具类上还需要注入@Component,否则也会为null。

 

转载请注明:前端收藏 » spring boot中用@value给static变量赋值的两种方法