ava.lang.IllegalArgumentException: sessionFactory or hibernateTemplate is requir

ava.lang.IllegalArgumentException: sessionFactory or hibernateTemplate is required


异常信息:

Exception in thread "main" org.springframework.beans.factory.BeanCreationException:

Error creating bean with name 'com.s2hs.manager.impl.UserManagerImpl#10b4b2f' defined in class path resource [applicationContext-commom.xml]: Initialization of bean failed;

nested exception is java.lang.IllegalArgumentException: sessionFactory or hibernateTemplate is required

一看异常信息又是不能成功创建bean,并且还有熟悉的nested,原始就是你要初始化的这个类没有配sessionFactory或者hibernateTemplate属性,在spring配置文件中讲该bean(UserManagerImpl)配置一下即可:

<property name="sessionFactory" ref="sessionFactory"/>

注意:有的时候,也许你看配置文件都配置了,但是还是总是提示你以上异常,你也许会怀疑myeclipse的问题,或者自己太郁闷了,别闹心了,90%可能是你自己错了,见下面我整理别人的一个技术博客:

JavaEye blog: http://lfw.javaeye.com/blog/225139

老是提示:sessionFactory or hibernateTemplate is required

让我很郁闷的是:我明明把sessionFactory注入进去了呀,怎么还是找不到的?

后来认真观察错误 Error creating bean with name 'com.lfw.sh.manager.impl.UserManagerImpl#10b4b2f' defined in class path resource

才发现原来是在creating UserManagerImpl类时找不到sessionFactory, 于是把

<bean id="userManager" parent="baseTxService">

<property name="target">
<bean class="com.lfw.sh.manager.impl.UserManagerImpl" />
</property>
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>

<bean id="userManager" parent="baseTxService">
<property name="target">
<bean class="com.lfw.sh.manager.impl.UserManagerImpl">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
</property>

</bean>

这样就搞定了,后来经一位高人指点得知:我的com.lfw.sh.manager.impl.UserManagerImpl继承了org.springframework.orm.hibernate3.support.HibernateDaoSupport,spring在初始化容器的时候会对这个对象作一个check, 看下HibernateDaoSupport源码中的checkDaoConfig()方法 就清楚啦:

protected final void checkDaoConfig() {
if (this.hibernateTemplate == null) {
throw new IllegalArgumentException ("'sessionFactory' or 'hibernateTemplate' is required");
}
}

所以,在com.lfw.sh.manager.impl.UserManageImpl对象一定要注入一个sessionFactory or hibernateTemplate对象。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值