SpringBoot 设置@Value取不到值

时间:2025-02-13 07:01:27

有时这个tagvalue为NULL,可能原因有:

1.使用static或final修饰了tagValue,如下:

private static String tagValue; //错误
private final String tagValue; //错误

2.类没有加上@Component(或者@service等)

@Component //遗漏
class TestValue{
    @Value("${tag}")
    private String tagValue;
}

3.类被new新建了实例,而没有使用@Autowired

@Component 
class TestValue{
    @Value("${tag}")
    private String tagValue;
}

class Test{
    ...
    TestValue testValue = new TestValue()
}

正确方式: 上面这个testValue中肯定是取不到值的,必须使用@Autowired:

class Test{
    @AutoWired
    TestValue testValue;
    public void aa(){
		testValue.test();
	}
}

顺便说一下,国内又一款开源软件Wall,搭建特别简单,可以搭建个人照片墙和视频墙,有兴趣可以看下教程:/u014641168/article/details/129396364