问题描述:
在一些工具类中可能会用到Ioc容器中的对象,而工具类中的成员变量往往是静态的,此时使用@Autowired
注解就会出现NullpointerException
。
就像下面这样:
public class Util {
@Autowired
private static SessionFactory sessionFactory;
}
解决方案:
采用一个曲线救国的方案,使用set方法进行注入。
public class Util {
private static SessionFactory sessionFactory;
@Autowired
public void setSessionFactory(SessionFactory sessionFactory) {
HBUtil.sessionFactory = sessionFactory;
}
}
注意:set方法不要是静态的!!!!