项目场景:
Spring Boot中静态变量想使用@Value注入值:
在application.properties或application.yml中定义topic名称:
# application.properties
test.name=测试
@Value("${test.name}")
public static String name;
这时候打印发现是空的, 通过上例可以看出,使用@Value注解修饰静态属性,启动项目时不会报错,但是也不会给该静态属性设置值。
解决方案:
可以通过set方法给静态属性设置配置文件中的属性值。
@Service
public class TestService {private static String name;@Value("${test.name}")public void setName(String param) {name = param;}public static String getName() {return name;}
}