SpringBoot中使用@Value()只能给普通变量注入值,不能直接给静态变量赋值
例如,application-dev.yml 配置文件有如下配置:
给普通变量赋值时,直接在变量声明之上添加@Value()注解即可,如下所示
@Value("${token.expiretime}")
private String expiretime;
但要给静态变量注入值的时候,若是在静态变量声明之上直接添加@Value()注解是无效的,例如
也就是说,直接用@Value注解的方式给静态变量读取配置文件的方式是无效的
给静态变量赋值,可以使用set()方法,并且需要在当前类上加@Component注解:效果如下