坑1:
一个初始化类中的静态方法,获取配置文件@Value的值,得这样
@Component
public class PushFactory {
private static String apiKey;
@Value("${baidupush.apiKey}")
public void setApiKey(String apiKey) {
PushFactory.apiKey = apiKey;
}
/**
* 初始化和使用的类型
*/
private static void init() {
System.out.println("---apiKey:" + apiKey);
}
}
坑2:
url为springboot配置文件application.properties中配置的常量
@Value("${client.register.url}")
private String url;
注意:在接口中不要给url赋值,否则全局变量会改变,例如这样:
url = "http://aaa.com" ;
可以使用临时变量,改为
// 临时变量
String url_t = url;
坑3:
一个工具类,使用了@value来获取配置,但是为null。
因为在使用这个工具类的时候是new的,
AESUtil ae = new AESUtil();
要想使用@value来获取,必须将这个工具类交由容器来注入,改为
@Autowired
private AESUtil ae;