Spring+Hibernate下泛型DAO的自动注入
2011-10-13 15:44
78 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jnoee/article/details/88335541
泛型DAO能给编码节省大量的代码,一个通用的泛型DAO类即可完成整个DAO层的功能,基本的结构如下:
/** * 泛型DAO。 * * @param <T> * 业务实体类型 */ public class Dao<T> { @Resource private SessionFactory sessionFactory; private Class<T> clazz; /** * 构造方法。 * * @param clazz * 业务实体类 */ public Dao(Class<T> clazz) { this.clazz = clazz; } ... }
在Spring配置文件中为每个业务实体注册一个xxxDao组件,通过构造方式将业务实体Class注入,在业务逻辑层即可调用各个业务实体的DAO进行数据操作。
在Spring配置文件中为每个业务实体注册一个xxxDao组件是一个相当繁琐的事情,过多的配置容易出错或遗漏,下面是采用自动注入方式来简化这个过程的思路。
1. Spring容器的扩展点BeanFactoryPostProcessor接口允许我们对bean的注入进行处理。
2. 在sessionFactory的配置中可以找到业务实体类或要扫描的业务实体类所在包,我们可以拿到业务实体的Class列表。
3. 通过编程的方式为每个业务实体注册一个DAO组件。
注:如何拿到业务实体的Class列表可参考Spring的AnnotationSessionFactoryBean实现方法;Spring中通过编程方式注入bean也是需要了解的知识。
相关文章推荐
- spring : HibernateDaoSupport,其中的sessionFactory并不能自动注入,只能手动
- 使用 Hibernate 和 Spring AOP 构建泛型类型安全的 DAO
- 不要重复DAO!使用Hibernate 和Spring AOP 构建泛型类型安全的DAO
- HibernateTemplate和HibernateDaoSupport(spring注入问题)
- HibernateTemplate和HibernateDaoSupport(spring注入问题)
- 使用 Hibernate 和 Spring AOP 构建泛型类型安全的 DAO
- BasicDAO与SpringDAO区别,使用Hibernate验证,注解方式实现主键自增,注解方式注入外键(一对多)
- Struts2、Hibernate、Spring整合的泛型DAO Version 2010.9.27
- 改进版的hibernate泛型dao(依赖spring)
- HibernateTemplate和HibernateDaoSupport(spring注入问题)
- spring2.5整合hibernate3.3的泛型Dao并加入spring jdbc的支持
- ssh,spring 泛型注入,泛型dao和service的实现
- 虚拟数据层:Struts2、Hibernate、Spring整合的泛型DAO
- HibernateTemplate和HibernateDaoSupport(spring注入问题)
- Class<T>泛型对象的获取及通过继承了HibernateDaoSupport的注入sessionFacoty的简单方式
- ssh,spring 泛型注入,泛型dao和service的实现
- 【原创】搭建SSH后通过反向工程(Reverse Engineering)自动生成Hibernate Bean实体和Spring Dao对象详解(图文)
- HibernateTemplate和HibernateDaoSupport(spring注入问题)
- 不要重复DAO!使用Hibernate 和Spring AOP 构建泛型类型安全的DAO
- Spring Dao使用自动注入配置错误小记