Spring注入SessionFactory的空指针异常
2015-11-13 15:21
344 查看
自己的错误在于,new的Dao实例,进行调用,以至于出现Dao中注入的Sessionfactory空指针。
在hibernate+spring配置过程中,应注意几点:
不能直接new一个DAO的实例,而应该通过spring的配置文件自动初始化session bean,然后再通过spring得到该DAO的引用,否则在调用getHibernateTemplate()时,会获得一个null的空指针异常。
在DAO的sql语句中,from后面的应该是POJO bean的类名,而不是数据库的表名。
也就是说,在引入spring的ioc时,所有的bean都在里面统一管理配置。在action里获得的那个dao并不是从spring的bean管理中(applicationContext.xml)获得的,因此也就没有获得象datasource等资源,改正办法,在action里注入dao的引用就可以了。
Spring不是执行时通过web.xml进行配置的,是在启动服务时就配好了的,所以在执行时只需调用注入进来的,如果这时候再new一个对象,是不会出错,只不过这个对象不是Spring注入进来的对象,所以在获得SessionFactory时抛出空指针。
在hibernate+spring配置过程中,应注意几点:
不能直接new一个DAO的实例,而应该通过spring的配置文件自动初始化session bean,然后再通过spring得到该DAO的引用,否则在调用getHibernateTemplate()时,会获得一个null的空指针异常。
在DAO的sql语句中,from后面的应该是POJO bean的类名,而不是数据库的表名。
也就是说,在引入spring的ioc时,所有的bean都在里面统一管理配置。在action里获得的那个dao并不是从spring的bean管理中(applicationContext.xml)获得的,因此也就没有获得象datasource等资源,改正办法,在action里注入dao的引用就可以了。
Spring不是执行时通过web.xml进行配置的,是在启动服务时就配好了的,所以在执行时只需调用注入进来的,如果这时候再new一个对象,是不会出错,只不过这个对象不是Spring注入进来的对象,所以在获得SessionFactory时抛出空指针。
相关文章推荐
- 一个jar包里的网站
- 一个jar包里的网站之文件上传
- 一个jar包里的网站之返回对媒体类型
- Ruby中的异常处理代码编写示例
- MySQL抛出Incorrect string value异常分析
- 详解JavaScript中的异常处理方法
- Hibernate Oracle sequence的使用技巧
- 模拟Spring的简单实现
- jsp Hibernate批量更新和批量删除处理代码
- jsp hibernate的分页代码第1/3页
- java程序中的延时加载异常及解决方案
- 解析Java异常的栈轨迹及其相关方法
- spring+html5实现安全传输随机数字密码键盘
- Spring中属性注入详解
- .NET(C#):Emit创建异常处理的方法
- JAVA+Hibernate 无限级分类
- SSH整合中 hibernate托管给Spring得到SessionFactory
- jsp hibernate 数据保存操作的原理
- struts2 spring整合fieldError问题
- hibernate中的增删改查实现代码