为什么一个类实现了ServletContextWare接口,将得到的ServletContext设置为静态,其他地方调用为空值

踏踏步 发布于 2017/09/10 17:32
阅读 122
收藏 0

如题,在使用spring过程中,

我用一个类A实现了ServletContextWare接口,

得到的ServletContext只能在setServletContext()方法中使用,其他地方调用全是空指针,
于是我在setServletContext()中将得到的ServletContext设置为静态想在其他地方使用,

试过很多方法了,在调用的时候全是空指针,

但是同样的方法用类B实现ApplicationContextWare接口,将ApplicationContext设置为静态却没有这种问题

请问你们是怎么解决这种问题的,实现spring的ServletContextWare接口得到的ServletContext为空

实现的类是普通类,不是servlet

加载中
0
霍啸林
霍啸林

单步调试看看为什么会是空的

0
DaCang
DaCang

贴出代码来   或者看我代码中的实现spring-demo

0
依然菜刀
依然菜刀

估计是先后顺序的问题,就是说,setServletContext()方法还有被spring调用,此时,那个静态变量还是null,你就已经去使用它了,自然就是null了

返回顶部
顶部