SpringBoot使用@Value给静态变量注入值
参考: https://blog.csdn.net/mononoke111/article/details/81088472
code
package com.tom.demo.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class TestConfig {
private static String username;
@Value("${sd.test}")
public void setUsername(String username){
TestConfig.username = username;
}
public static void print(){
System.out.println(username);
}
}
思考
- 这个需求挺常见,反正我是遇到过很多次,则解决呢???
- 跟人觉得这个方法也不好。原因,它就是通过spring的容器去创建一个Bean,然后在这个Bean的set方法中修改了static的值。缺点是把Bean加载到spring中了,还有一个就是不管我用不用这个,他都在
- 我觉得还是写在配置文件中,在类的static{}中读取这个值