我写了一个Dao继承HibernateDaoSupport如下:
public class Dao extends HibernateDaoSupport{ public void setSuperSessionFactory(SessionFactory sess)
{
super.setSessionFactory(sess);
}
}
写了两个dao继承它如下:
public class LogManager extends Dao implements LogDao { @Override
public void add(Log log) {
getHibernateTemplate().save(log); }}
另外一个
public class UserManager extends Dao implements UserDao {
@Override
public void add(User user) {
getHibernateTemplate().save(user);
}
}
我在配置中把sessionFactory注入到了父类的dao中
配置如下:
<!--父类dao-->
<bean id="dao" class="com.pwp.dao.Dao">
  <property name="superSessionFactory" ref="sessionFactory"></property>
</bean>  <!--两个子类dao-->
<bean id="log" class="com.pwp.dao.LogManager">
</bean>
<bean id="user" class="com.pwp.dao.UserManager">
</bean>它报我的错是在两个子类总必须注入sessionfactory   
我就郁闷了啊  我这两个子类继承了父类啊  而且父类注入了sessionfactory啊
是错在哪里啊   请教高手指点啊

解决方案 »

  1.   

    配置子类dao的时候还需要配置superSessionFactory在get子类的bean的时候又不会去加载父类的bean,当然会报错没有注入sessionfactory  
      

  2.   

    问一下你的superSessionFactory在哪里传入值了做了些无用工  直接用原来的就可以了sessionFactory就可以了  
    假设你改掉了 那么你就需要  ref 将其配置起来
      

  3.   

    子类 应该也 注入 sessionfactory   
      

  4.   

    在配置DAO的时候,只用配置用到DAO就行了(即子类的DAO)
           <bean id="log" class="com.pwp.dao.LogManager">
            <property name="sessionFactory">
    <ref local="sessionFactory"/>
    </property>
          </bean>
          <bean id="user" class="com.pwp.dao.UserManager">
              <property name="sessionFactory">
    <ref local="sessionFactory"/>
    </property>
          </bean>你子类的DAO没有注入sessionFactory
      

  5.   

    <bean id="log" class="com.pwp.dao.LogManager" parent="dao">