博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring给静态变量使用@Autowired注入
阅读量:5876 次
发布时间:2019-06-19

本文共 590 字,大约阅读时间需要 1 分钟。

hot3.png

@Componentpublic class AA {	private static Object variable;	@Autowired	public AA(Object variable) {		AA.variable = variable;	}	}

原理解答:在spring进行组建注册的时候会进行初始化,初始化后赋值到变量,所以还有一个遗留问题,就是不能在构造器内调用静态变量

还有一种方法

就是在初始化完成后再启动一个方法为其赋值(本人没试过,不过感觉可行就记下来了)不过此方法会浪费一点栈空间就是了,因为初始化后此实例就一直存在了,那么它的引用也会一直存在,如果不是那种对代码要求到极致的项目可用试试用这种

@Componentpublic class Boo {    private static Foo foo;    @Autowired    private Foo tFoo;    @PostConstruct    public void init() {        Boo.foo = tFoo;    }    public static void randomMethod() {         foo.doStuff();    }}

 

转载于:https://my.oschina.net/2892328252/blog/2051694

你可能感兴趣的文章
远程协助
查看>>
Scrum实施日记 - 一切从零开始
查看>>
关于存储过程实例
查看>>
配置错误定义了重复的“system.web.extensions/scripting/scriptResourceHandler” 解决办法...
查看>>
AIX 7.1 install python
查看>>
PHP盛宴——经常使用函数集锦
查看>>
重写 Ext.form.field 扩展功能
查看>>
Linux下的搜索查找命令的详解(locate)
查看>>
福利丨所有AI安全的讲座里,这可能是最实用的一场
查看>>
开发完第一版前端性能监控系统后的总结(无代码)
查看>>
Python多版本情况下四种快速进入交互式命令行的操作技巧
查看>>
MySQL查询优化
查看>>
【Redis源码分析】如何在Redis中查找大key
查看>>
android app启动过程(转)
查看>>
安装gulp及相关插件
查看>>
如何在Linux用chmod来修改所有子目录中的文件属性?
查看>>
Applet
查看>>
高并发环境下,Redisson实现redis分布式锁
查看>>
关于浏览器的cookie
查看>>
Hyper-V 2016 系列教程30 机房温度远程监控方案
查看>>