'sessionFactory' or 'hibernateTemplate' is required

异常:

org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 'articleServiceImpl' defined in file 
[D:\My Documents\zzcms\zzcms\WebRoot\WEB-INF\classes\com\zzcms\article\service\impl\ArticleServiceImpl.class]: Invocation of init method failed; 
nested exception is java.lang.IllegalArgumentException: 'sessionFactory' or 'hibernateTemplate' is required

我的结构是ArticleServiceImpl继承DaoSupport(自己写的实现类), DaoSupport 继承 HibernateDaoSupport.

因为HibernateDaoSupport里需要用到SessionFactory, 因此, DaoSupport (自己写的实现类)中必须注入一个SessionFactory

之前我是在applicationContext.xml中配置的,如下:

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
          <property name="dataSource" ref="dataSource"/>
         <property name="packagesToScan">
            <list>            	
                <value>com.zzcms.article.entity</value>             
            </list>
        </property>
</bean>
<!-- 下面这段代码 -->
<bean id="daoSupoort" class="com.zzcms.dao.base.DaoSupport">
          <property name="sessionFactory" ref="sessionFancory"/>
</bean>

  

上面的配置就把SessionFactory注入进去了。

 

现在我使用的是注解, DaoSupport中需要这样才能成功注入SessionFactory

@Transactional//具有默认的事务行为
public abstract class DaoSupport extends HibernateDaoSupport implements DAO { 
	/**
  	* - 【注入 SessionFactory】
	* - 注入一个sessionFactory属性,并注入到父类(HibernateDaoSupport )里
  	* **/
  	private SessionFactory sessionFacotry;
	//注入一个bean, 默认(name = "sessionFactory"), 因此只写@Resource
  	@Resource     
  	public void setSessionFacotry(SessionFactory sessionFacotry) {   
        		super.setSessionFactory(sessionFacotry);   
  	}   
   	//省略非重点代码...

}

 

 

 ================================The End========================================

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值