spring中配置问题?

pwp1991421 2010-08-19 02:43:06
我写了一个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啊
是错在哪里啊 请教高手指点啊
...全文
81 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yzsunlight 2010-08-25
  • 打赏
  • 举报
回复
始终要理解什么是继承?
继承是指一个对象直接使用另一对象的属性和方法
单单只是拥有父类的属性,但不会有父类属性的值。

打个很通俗的比方
你继承了你的爸爸,你的爸爸又妈妈这个属性即为奶奶
而你也有妈妈这个属性,即为你的母亲 而不是你的奶奶
fanyuna 2010-08-25
  • 打赏
  • 举报
回复
在配置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
yibo2010 2010-08-25
  • 打赏
  • 举报
回复
子类 应该也 注入 sessionfactory
jumpheightway 2010-08-25
  • 打赏
  • 举报
回复
<bean id="log" class="com.pwp.dao.LogManager" parent="dao">
macower 2010-08-24
  • 打赏
  • 举报
回复
问一下你的superSessionFactory在哪里传入值了

做了些无用工

直接用原来的就可以了sessionFactory就可以了
假设你改掉了 那么你就需要 ref 将其配置起来
Jay_xiaolei 2010-08-19
  • 打赏
  • 举报
回复
配置子类dao的时候还需要配置superSessionFactory

在get子类的bean的时候又不会去加载父类的bean,当然会报错没有注入sessionfactory

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧