spring拾遗(一)——@Value注入static属性

一般情况的下的@Value是用在非静态方法上的,如下:

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class WebServiceConstants {
    @Value("${ws_charging_url}")
    public  String  feeUrl;
}

但是对于静态变量,我们需要采取不同的方式:

一、xml通过bean注入:没有尝试,理论上可行


二、给参数注入,执行set方法

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

三、通过中间变量赋值

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

 注意相关类不要忘记加@Component

原文地址:https://www.cnblogs.com/toSeeMyDream/p/8177690.html