问题描述
具体是这样,项目是ssh框架,启动的时候要求从数据库里取一些数据放到application里面但是启动服务器自动调用这个方法时 hibernate为空,报空指针异常,服务器启动后正常,如何解决这个问题?最好帖出相关的代码 谢谢
解决方案
什么叫hibernate为空?可能是启动的时候要主动去拿session比如这样拿:private void setUp() { String[] configLocations = new String[]{ "spring/applicationContext-hibernate.xml" }; ApplicationContext context = new ClassPathXmlApplicationContext(configLocations); Map<String, SessionFactory> bean = context.getBeansOfType(SessionFactory.class); Assert.isTrue(bean.size() == 1, "Only single bean of type " + SessionFactory.class + " allowed"); session = bean.values().iterator().next().openSession(); Assert.notNull(session); }这样你拿到session,爱干什么就可以干什么了。再写个监听执行这个方法然后在web.xml里面加个listener:<listener> <listener-class>com.xxx.XxxListener</listener-class> </listener>这样服务器启动的时候就可以自动执行了