Spring中 静态成员变量的注入,以及其他静态成员变量的单例延迟加载--查漏补缺
来源:互联网 发布:淘宝联盟app 编辑:程序博客网 时间:2024/06/18 08:35
Spring对于一个需要自动注入的类,首先应该在类上加入注解:@compone 或者@seveice等等。
由于对于静态成员变量,直接加@Value("xxxxx")是无法获取值的,运行时是在其他方法中调用为null,我们知道spring自动注入是通过调用该类的setter方法注入,因此可以通过添加该成员变量的setter方法,(注意:若用eclipse自动导入setter功能,出现的setter方法是静态static的,你需要去除static关键字),然后在出现的setter方法上加入@Value("xxxxx"),此时就能获得自动注入资源文件设置的值了。
对于单例模式,我们通常定义单例为private static Singlon instance;
通常可以采用以下的双重检查的方式:
private static Singlon getInstace() {
if(instance== null){
synchronized ( Singlon.class) {
if(instance == null){
instance= new Singlon();
}
}
}
return instance;
}
通过这种延迟加载的方式,我们可以在单例中引入注入的静态成员变量的值。
若通过"饿汉模式",则无法引用我们自动注入的静态变量,原因我们也知道,JAVA 类加载机制,加载循序的问题。
项目中遇到的问题,我刚好采用这种方式实现,所以在此处写一篇博文。一点浅见。
- Spring中 静态成员变量的注入,以及其他静态成员变量的单例延迟加载--查漏补缺
- 类的 静态成员 --- 静态成员变量 、 静态成员函数
- ns2中静态成员变量的绑定
- Android中静态成员变量的生命周期
- PHP中静态成员变量的用法
- JAVA中静态成员变量的使用
- C++中类的静态成员变量
- java中成员变量、局部变量、静态变量的区别
- 类的静态成员变量
- 类的静态成员变量
- 类的静态成员变量
- 类的静态成员变量
- 类的静态成员变量
- 类的静态成员变量
- 静态成员变量的定义
- 成员函数的静态变量
- 类的静态成员变量
- 类的静态成员变量
- 设定MS SQL Server 2008定期自动备份
- 购物车
- Spark Programming Guide(三)
- SumlimeText 3 2017年9月更新后可用的License 版本3143
- 将一个十六进制的字符串型的数字转换成整型数字的函数(目前此函数只支持32位)
- Spring中 静态成员变量的注入,以及其他静态成员变量的单例延迟加载--查漏补缺
- [BZOJ1231][Usaco2008 Nov]mixup2 混乱的奶牛(状压dp)
- Thread基础
- 我原谅绿了我的女友错了吗
- 项目开发总结之CountDownTimerUtils
- 将json转换成datatable
- Java HotSpot(TM) 64-Bit Server VM warning(error='Cannot allocate memory' (errno=12))
- @ModelAttribute注解的应用
- 基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构