SpringBoot设置@Value注解获取不到值

2022-06-09 15:00:28 浏览数 (1)

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

代码语言:javascript复制
private static String tagValue; //错误
private final String tagValue; //错误

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

代码语言:javascript复制
@Component //遗漏
class TestValue{
	@Value("${tag}")
	private String tagValue;
}

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

代码语言:javascript复制
@Component
class TestValue{
	@Value("${tag}")
	private String tagValue;
}

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

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

代码语言:javascript复制
class Test{
	@AutoWired
	TestValue testValue;
	public void aa(){
		testValue.test();
	}
}

0 人点赞