spring boot @value 无法注入static 修饰的参数

spring boot 拒绝 @value 注入static 修饰的参数中

在spring boot中@value 的值是不能被注入进static 修饰的静态变量中,示例:

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

@Component
public class GlobalValue {

	@Value("${example.num}")
    public static int num;
    
	@Value("${example.String}")
    public static String txt;
    
}

运行项目后会发现num=0;txt=null

解决方案

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

@Component
public class GlobalValue {

    public static int num;

	@Value("${example.num}")
	public void setNum(int number){
		num = number;
	}
    
    public static String txt;

	@Value("${example.String}")
	public void setTxt(String txtExample){
		txt = txtExample;
	}
    
}

谨以此贴谨记踩坑

你可能感兴趣的:(java,Java,springboot,@value,static)