Spring不能注入static成员,主要有2个原因:
1.static成员与类相关,其中static变量及初始化块只会在类加载器第一次加载类时初始化和执行。
(初始化了static变量,也就是给该static变量分配内存了)
2.spring进行注入时发现该static变量已经被初始化,于是就忽略了该静态变量。
解决方式:
1.可以通过获取ApplicationContext类(Environment类)的实例,来操作被Spring IOC容器管理的对象(properties属性)
本文阐述了Spring框架中无法直接注入static成员的原因,主要涉及static成员的初始化时机与Spring注入机制之间的冲突。并提供了解决方案,即通过ApplicationContext类操作SpringIOC容器管理的对象。
Spring不能注入static成员,主要有2个原因:
1.static成员与类相关,其中static变量及初始化块只会在类加载器第一次加载类时初始化和执行。
(初始化了static变量,也就是给该static变量分配内存了)
2.spring进行注入时发现该static变量已经被初始化,于是就忽略了该静态变量。
解决方式:
1.可以通过获取ApplicationContext类(Environment类)的实例,来操作被Spring IOC容器管理的对象(properties属性)
1866
5491
456

被折叠的 条评论
为什么被折叠?
