查看文章
|
初学Spring,在Spring中整合Hibernate时,遇到如下异常: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'BookDAO' defined in class path resource [applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: sessionFactory or hibernateTemplate is required 我在程序中定义了一个BookDAO类,继承了HibernateDaoSupport,以利用HibernateTemplate来进行对数据库数据的增删修查的操作。
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 另外,我定义了一个类BookSrv,其依赖于BookDAO,并利用Setter Injection的依赖注入方式,注入BookDAO的对象。
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 我原先的错误的配置文件如下(省略其他部分):
![]() ![]() ![]() ![]() ![]() ![]()
想了很久,也找不出异常地原因。而且被那一句sessionFactory or hibernateTemplate is required所害,一直在dataSource、sessionFactory、hibernateTemplate的配置上苦苦地追寻着错误所在。 其实早该发现问题地所在:BeanCreationException: Error creating bean with name 'BookDAO' …… 因为BookDAO继承了HibernateDaoSupport,并利用HibernateDaoSupport的 getHibernateTemplate()得到一个HibernateTemplate的对象,然后再调用这个对象的save()、flush()等 方法。所以,BookDAO依赖于HibernateTemplate。 于是,在配置文件中加上BookDAO对HibernateTemplate的依赖即可解决问题。 正确的配置文件为:
![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
!['+g_read[i][1]+'.jpg](https://i-blog.csdnimg.cn/blog_migrate/8edf4a5d4bc2c69646344b373dbddb48.jpeg)
![]() | '; }else{ _rh1+=' | '; } _rh1+="登录后,您就出现在这里。 | 最近还没有登录用户看过这篇文章…… | '+g_read[i][2]+' | ||||
![]() | 登录后,您就出现在这里。 | |
"+cmtname+""; }else{ if(cmtname=="" || cmtname=="匿名网友"){ if(cmturl==""){ html1=" 匿名网友"; }else{ html1=" "+cmtname+""; } }else{ if(cmturl==""){ html1="
姓 名: | <script type="text/javascript"> document.write(" 注册"); document.write(" | 登录"); </script> 注册 | 登录
*姓名最长为50字节
|
网址或邮箱: | (选填) |
内 容: | <script type="text/javascript"> G("spBlogCmtor").value=G("spBlogCmtor").defaultValue; G("spBlogCmtText").value=""; </script> |
验证码: | 请输入下图中的四位验证码,字母不区分大小写。 <script language="JavaScript" type="text/javascript"> var imgsrc="https://i-blog.csdnimg.cn/blog_migrate/fbe3c87c3ec7d446b6313e763fde1463.png"; document.write(" ![]() |
