摘要:所以如下这种写法就是错误的,这样是无法注入的,在使用该变量的时候会导致空指针错误依赖注入是依赖方法,静态变量不属于对象,只属于类。
Spring无法直接给静态变量注入值,因为静态变量不属于对象,只属于类,也就是说在类被加载字节码的时候变量已经初始化了,也就是给该变量分配内存了,导致spring忽略静态变量。所以如下这种写法就是错误的,这样是无法注入的,在使用该变量的时候会导致空指针错误:
@Autowired private static IOptionService optionService;
Spring依赖注入是依赖set方法,静态变量不属于对象,只属于类。解决方法就是加上非静态的set方法,如下:
private static IOptionService optionService; @Autowired public void setOptionService(IOptionService optionService) { Commons.optionService = optionService; }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/73143.html
摘要:案例对静态变量的注入为空案例代码如下错误案例这种方式是不能给静态变量注入属性值的解决方案一注解加在方法上面解决方案二注解因为注解修饰的方法加在顺序在构造方法之后静态变量赋值之前,所 ...
摘要:入门和学习笔记概述框架的核心有两个容器作为超级大工厂,负责管理创建所有的对象,这些对象被称为。中的一些术语切面切面组织多个,放在切面中定义。 Spring入门IOC和AOP学习笔记 概述 Spring框架的核心有两个: Spring容器作为超级大工厂,负责管理、创建所有的Java对象,这些Java对象被称为Bean。 Spring容器管理容器中Bean之间的依赖关系,使用一种叫做依赖...
摘要:的依赖关系,根据依赖关系配置完成之间的装配。的行为信息,如生命周期范围及生命周期各过程的回调函数。使用该种装配模式时,优先匹配参数最多的构造函数。如果提供了默认的构造函数,则采用否则采用进行自动装配。 点击进入我的博客 1 Spring容器与Bean配置信息 Bean配置信息 Bean配置信息是Bean的元数据信息,它由一下4个方面组成: Bean的实现类 Bean的属性信息,如数...
摘要:如感兴趣,可移步手写之基于动态创建对象手写之基于注解动态创建对象今天将详细介绍如何手写依赖注入,在运行过程中如何动态地为对象的属性赋值。完成后在中会有相关的包出现进行注入前需要创建工厂,在运行时从工厂中取出对象为属性赋值。 前两篇文章介绍了关于手写Spring IOC控制反转,由Spring工厂在运行过程中动态地创建对象的两种方式。如感兴趣,可移步: 手写Spring之IOC基于xml...
阅读 1125·2021-11-24 10:21
阅读 2561·2021-11-19 11:35
阅读 1662·2019-08-30 15:55
阅读 1293·2019-08-30 15:54
阅读 1192·2019-08-30 15:53
阅读 3498·2019-08-29 17:21
阅读 3308·2019-08-29 16:12
阅读 3412·2019-08-29 15:23