Spring注入SessionFactory的空指针异常

本身的错误在于,new的Dao实例,进行调用,以致于出现Dao中注入的Sessionfactory空指针。web

 

在hibernate+spring配置过程当中,应注意几点:spring

一、不能直接new一个DAO的实例,而应该经过spring的配置文件自动初始化session bean,而后再经过spring获得该DAO的引用,不然在调用getHibernateTemplate()时,会得到一个null的空指针异常。sql

二、在DAO的sql语句中,from后面的应该是POJO bean的类名,而不是数据库的表名。数据库

 

也就是说,在引入spring的ioc时,全部的bean都在里面统一管理配置。在action里得到的那个dao并非从spring的bean管理中(applicationContext.xml)得到的,所以也就没有得到象datasource等资源,改正办法,在action里注入dao的引用就能够了。session

Spring不是执行时经过web.xml进行配置的,是在启动服务时就配好了的,因此在执行时只需调用注入进来的,若是这时候再new一个对象,是不会出错,只不过这个对象不是Spring注入进来的对象,因此在得到SessionFactory时抛出空指针。app

相关文章
相关标签/搜索