文档章节

spring给静态变量使用@Autowired注入

太黑_thj
 太黑_thj
发布于 09/15 02:20
字数 247
阅读 7
收藏 0
@Component
public class AA {

	private static Object variable;



	@Autowired
	public AA(Object variable) {
		AA.variable = variable;
	}
	
}

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

还有一种方法

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

@Component
public class Boo {

    private static Foo foo;
    @Autowired
    private Foo tFoo;

    @PostConstruct
    public void init() {
        Boo.foo = tFoo;
    }

    public static void randomMethod() {
         foo.doStuff();
    }
}

 

© 著作权归作者所有

共有 人打赏支持
太黑_thj
粉丝 13
博文 117
码字总数 62323
作品 0
福州
程序员
Spring不支持依赖注入static静态变量

在springframework里,我们不能@Autowired一个静态变量,使之成为一个spring bean,例如下面这样: @Autowiredprivate static YourClass yourClass; 可以试一下,yourClass在这种状态下不能够被依...

gaolu
2014/07/31
0
2
@Autowired注解和静态方法

一、业务场景 spring框架应用中有些静态方法需要依赖被容器管理的类,就像这样: @Componentpublic class Test { } 这样一定会报java.lang.NullPointerException: null异常。 二、原理剖析 ...

谢思华
08/03
0
0
Spring @autowired注解

1、在接口实现类中,使用到@Autowired 注解,下面是该注解使用的类 2、Spring@Autowired注解与自动装配 @Autowired顾名思义,就是自动装配,其作用是为了消除代码Java代码里面的getter/sett...

lar555
04/26
0
0
使用Spring2.5的Autowired实现注释型的IOC

使用Spring2.5的新特性——Autowired可以实现快速的自动注入,而无需在xml文档里面添加bean的声明,大大减少了xml文档的维护。(偶喜欢这个功能,因为偶对xml不感冒)。 以下是一个例子: 先...

沉默的子明
2014/05/14
0
0
说说 Spring 的注解配置

1 定义 Bean XML 或注解配置方式,都是表达 Bean 定义的载体,其实质都是为 Spring 容器提供 Bean 定义的信息 。 基于注解的配置方式,从 Spring2.0 开始引入, Spring2.5 完善, Spring4.0 ...

deniro
05/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

转:XMLHttpRequest2 新技巧

”XMLHttpRequest 的异步调用网上找的例子运行没问题,但稍微改了一点点就报错”InvalidStateError: XMLHttpRequest has an invalid context“。断断续续 搞了3天终于通了,可以接收二进制文...

SamXIAO
13分钟前
0
0
=====D服务器定时任务=====

Linux定时任务 crontab linux系统是有cron这个系统服务来控制的,Liunx系统上包含很多的计划性工作,使用者自己可以设置计划任务,所以linux系统提供了使用者控制计划任务的命令 crontab的启...

覃光林
22分钟前
0
0
xilinx资源

本系列教学视频由赛灵思高级战略应用工程师带领你:从零开始,一步步深入 掌握 HLS 以及 UltraFAST 设计方法,帮助您成为系统设计和算法加速的大拿! http://www.eetrend.com/topics/2018-0...

whoisliang
33分钟前
2
0
企业级开源四层负载均衡解决方案--LVS

网盘链接 企业级开源四层负载均衡解决方案--LVS 本课程将在Linux环境下,学习配置使用LVS,对Web集群和MySQL集群进行负载均衡,并结合利用Keepalived实现负载均衡器的高可用,实现对后端Rea...

qq__2304636824
42分钟前
3
0
Windows上安装Spacemacs

emacs安装 下载地址emacs 安装比较简单,解压后执行\bin\addpm.exe即可 emacs配置 emacs的默认配置文件路径和.emacs.d文件夹都是在Windows主目录下的 C:\Users\Administrator\AppData\Roami...

yxmsw2007
57分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部