和普通的变量不一样,static修饰的静态变量直接用@Value注解是获取不到对应的配置文件中的值的,需要通过set函数来设置,且set函数无需用static修饰,
原因:
public static String url;
public static String username;
public static String pwd;
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13@Value("${db.url}") public void setUrl(String url) { DbConnect.url = url; } @Value("${db.username}") public void setUsername(String username) { DbConnect.username = username; } @Value("${db.pwd}") public void setPwd(String pwd) { DbConnect.pwd = pwd; }
原因分析:个人见解-望指正
Spring的@Value依赖注入是依赖set方法,而自动生成的set方法是普通的对象方法,你在普通的对象方法里,都是给实例变量赋值的,不是给静态变量赋值的,static修饰的变量,一般不生成set方法.
最后
以上就是能干火最近收集整理的关于关于静态常量获取配置文件中内容的问题的全部内容,更多相关关于静态常量获取配置文件中内容内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复