【SpringBoot】使用属性文件给成员变量配置值对静态成员变量是无效的,只对普通成员有效
【结论】
使用属性文件给成员变量配置值对静态成员变量是无效的,只对普通成员有效
【实验】
配置文件application.properties
test.a=aa; test.b=bb; test.c=cc; test.d=dd;
Test类:
package com.hy.lab.prpty; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @Component public class Test { @Value("${test.a}") public String a="a";// 普通成员,且属性文件有键值,注入有效 //@Value("${test.e}")// 普通成员,属性文件无键值,编译期报错 public String e="e"; @Value("${test.b}") public static String b="b";// 静态成员,且属性文件有键值,注入无效 @Value("${test.c}") public static final String c="c";// 静态不变成员,且属性文件有键值,注入无效 }
运行Test类:
package com.hy; import com.hy.lab.prpty.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class MyApplication implements CommandLineRunner { @Autowired Test t; public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } @Override public void run(String... args) throws Exception { System.out.println("a="+t.a); System.out.println("b="+t.b); System.out.println("c="+t.c); System.out.println("e="+t.e); } }
运行结果:
a=aa; b=b c=c e=e
从结果可以看出,只有a被注入了配置文件中的值aa,不再是java文件里的初值,另两个静态成员b和c都是java文件里的初值,而e因为配置文件中没有给它配置的值而只能屏蔽@Value,否则编译时就会报错。
越是简单越容易被忽略,再次提醒大家小心。
END
分类:
Java.SpringBoot
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2016-07-25 【高中数学/基本不等式】已知正实数a,b满足9a^2+b^2=1,则ab/(3a+b)的最大值是?
2016-07-25 【Canvas与艺术】九宫格四心结
2016-07-25 【高中数学/导数】当x=1时,函数f(x)=alnx+b/x取得最大值-2,则f'(2)=?
2014-07-25 爪哇国新游记之十九----使用Stack检查数字表达式中括号的匹配性
2014-07-25 爪哇国新游记之十八----泛型栈类
2014-07-25 【高中数学/基本不等式】已知:x,y皆为正实数,且2xy+x+6y=6 求:x+2y的最小值
2014-07-25 爪哇国新游记之十六----泛型单链表类