一、 平时用多线程的情况不是很多,最近有个同事问我为什么代码里报空指针异常了,跟踪代码发现异常出现在获取spring注入bean中get具体属性的时候报错。
当时是一个懵逼的状态,后才查阅资料才想起来,因为spring为了考虑安全性问题,在多线程情况下,不支持直接使用 @Resouce 注解方式进行直接的bean注入,那么也就是说,如果在多线程调用该注入实例化的变量时,将会报NullPointerException。
解决办法:


二、 junit出现异常的原因是:
因为junit一般会走最小化的方式,而非每次都要将整个框架的东西载入,从而减少加载时间。当然,如果确实需要,这个问题,其实目前在高版本的junit中,已经不存在了,通过加载 SpringJUnit4ClassRunner,即可进行注入值。
解决方法:

解决方案2:

网友评论