HibernateDaoSupport疑惑

redstone1202 2012-12-22 09:54:51
我现在有一个类
public  class GenericDaoHibernateImpl<T, PK extends Serializable> extends HibernateDaoSupport implements GenericDao<T, PK> {


但是我配置文件 没有xml配置 GenericDaoHibernateImpl,给他注入 HibernateTemplate ,

也没有注入 sessionfctory

------------

然后GenericDaoHibernateImpl这个类里面也没有 注解

setSuperHibernateTemplate 或者 setSupersessionfctory 之类

---------------

但是 我就疑惑了 ,他还能 用 getHibernateTemplate里面的模板方法


请教高人 HibernateTemplate是如何注入的

ps:HibernateDaoSupport 是抽象的,里面的两个set是final的 我知道

-------------------------------------------------------------

GenericDaoHibernateImpl 有这个方法

private Class<T> type;//实体类类型,(由构造方法自动赋值)
public GenericDaoHibernateImpl(Class<T> type) {
this.type = type;
}


---

public class TSysPostDaoHibernateImpl extends
GenericDaoHibernateImpl<TSysPost, Long> implements ITSysPostDao {
public TSysPostDaoHibernateImpl(Class<TSysPost> post) {
super(post);
}
}


TSysPostDaoHibernateImpl 是子类

...全文
215 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
dxqrr 2012-12-31
  • 打赏
  • 举报
回复
额,是LZ自己没搞清楚好伐 看下源码你就懂了
一心念佛 2012-12-30
  • 打赏
  • 举报
回复
这个类注入HibernateTemplate 和sessionFactory都行
少羽 2012-12-28
  • 打赏
  • 举报
回复
我看清楚你的意思了,如果你没有注入sessionFactory的话是会报错的

/*注入属性sessionFactory,这个属性在HibernateDaoSupport类中*/
	@Autowired
	public void setSuperSessionFactory(SessionFactory sessionFactory) {
		super.setSessionFactory(sessionFactory);
	}
这个没有的话会报以下的错 Error creating bean with name 'usersDao' defined in file [C:\Users\user\Workspaces\MyEclipse 8.5 M2\sshTest\WebRoot\WEB-INF\classes\com\bbx\dao\impl\UsersDaoImpl.class]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: 'sessionFactory' or 'hibernateTemplate' is required
Waiting 2012-12-28
  • 打赏
  • 举报
回复
当你继承了hibernatedaosupport类后,对于子类可以直接用到父类的excute(CURD)方法,这样就会减轻很多程序员的工作。
yelp 2012-12-28
  • 打赏
  • 举报
回复
继承了 HibernateDaoSupport ,在这个父类里已经注入了 你看下源码
redstone1202 2012-12-26
  • 打赏
  • 举报
回复
看来大伙都不太懂这个问题呢 还
redstone1202 2012-12-22
  • 打赏
  • 举报
回复
期待明白人回答,自己不清楚的别乱回答。
hundsun_2008 2012-12-22
  • 打赏
  • 举报
回复
extends HibernateDaoSupport
Minty_Tong 2012-12-22
  • 打赏
  • 举报
回复
具体的你看下源码吧~~~看源码你就知道实现方法了
Minty_Tong 2012-12-22
  • 打赏
  • 举报
回复
HibernateDaoSupport 该类中有getHibernateTemplate方法来返回 HibernateTemplate

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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