为什么我有时会将上下文视为null? 我已经编写了Util类来在Spring中获取bean。它在Server中工作正常,但几小时或几天后我们得到了NPE。然后我们意识到我们正在获得零上下文 以下是代码
public class ApplicationUtil implements ApplicationContextAware {
private static ApplicationContext context;
@Override
public void setApplicationContext(ApplicationContext ac) throws BeansException {
//throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
context = ac;
}
public static Object getBean(String beanName) {
return context.getBean(beanName);
}
}
为了避免NPE,我们写了
public static Object getBean(String beanName) {
if (context != null) {
return context.getBean(beanName);
}
context = new ClassPathXmlApplicationContext("dispatcher-servlet.xml");
return context.getBean(beanName);
}
我的问题是,即使我们使用ApplicationContextAware,我们也会变为null。这是一个服务器问题?还是糟糕的程序化实践?
有什么建议吗?