`
jnoee
  • 浏览: 68447 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Spring+Hibernate下泛型DAO的自动注入

 
阅读更多

泛型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也是需要了解的知识。

分享到:
评论

相关推荐

    Struts2+hibernate+spring整合泛型DAO

    总结来说,"Struts2+hibernate+spring整合泛型DAO"是一种常见的Java Web开发模式,它利用三大框架的优势,结合泛型设计,提高了代码复用,降低了维护成本,使得开发者能更专注于业务逻辑,而不是基础架构。

    Struts+Spring+Hibernate开发实例.pdf

    Struts负责视图与控制器部分,Spring负责业务逻辑层及依赖注入,Hibernate负责数据持久层。下面将详细介绍文档提及的各个知识点。 **Struts框架** Struts是基于MVC设计模式的一个Web层框架。它将Web层分为Model...

    Hibernate泛型Dao

    【标题】"Hibernate泛型Dao"是针对Java开发中的数据持久化框架Hibernate的一个高级应用,主要目的是为了提高代码的复用性和简洁性。在传统的Hibernate使用中,针对每个实体类,我们都需要创建一个对应的Dao(Data ...

    SSH2全注解整合(spring2.5+hibernate3.3+struts2.1+泛型DAO+proxool连接池)

    泛型DAO(Data Access Object)是一种设计模式,用于抽象数据访问层的操作,提供通用的CRUD(Create, Read, Update, Delete)方法。通过泛型,DAO可以适用于多种类型的实体,降低了代码重复。例如,一个BaseDAO接口...

    Hibernate泛型DAO(结合spring模板支持)

    至于`Dao经典泛型.doc`文件,可能是更深入的关于Hibernate泛型DAO的文档,可能包含了如何配置Spring、如何处理复杂查询以及如何优化泛型DAO的更多细节。阅读这份文档将进一步提升你对泛型DAO的理解和应用能力。 ...

    泛型dao 泛型dao 泛型dao

    Struts2、Hibernate、Spring整合的泛型DAO (本人评价: 代码开发效率提高30% 代码出错率减少70%) 对于大多数开发人员,系统中的每个 DAO 编写几乎相同的代码到目前为止已经成为一种习惯。虽然所有人都将这种重复...

    spring hibernate 泛型DAO

    本文将深入探讨“Spring Hibernate 泛型DAO”这一主题,以及如何通过泛型DAO实现更加高效、可复用的代码。 首先,让我们理解什么是DAO(Data Access Object)模式。DAO是一种设计模式,它的主要作用是隔离业务逻辑...

    再发一个基于Hibernate+Spring 泛型GenericDao 的工程源码.

    Spring框架则是一个全面的企业级应用开发框架,提供了依赖注入、事务管理、AOP(面向切面编程)等功能,常与Hibernate结合使用以构建松耦合、模块化的应用程序。 泛型是Java 5引入的一个特性,允许在类、接口和集合...

    spring3.1+hibernate4+Jpa Dao

    综上所述,"spring3.1+hibernate4+jpa Dao"的集成是一个高效、灵活的企业级应用开发架构,它结合了Spring的IoC和AOP能力、Hibernate的ORM功能以及JPA的标准接口,通过泛型DAO实现和事务管理,为开发者提供了强大的...

    Hibernate泛型DAO及使用方法.doc

    在Java开发中,尤其是涉及到持久层操作时,Hibernate是一个非常流行的ORM(对象关系...在Spring+Hibernate环境下,通过合理地实现和使用泛型DAO,可以大大提高开发效率,降低维护难度,同时保持代码的整洁和可维护性。

    Struts2 Spring3 Hibernate 注解功能 DAO 泛型 通用分页

    总的来说,"SSHWithAnnotationDemo"项目展示了如何利用现代Java技术栈的高级特性,包括Struts2、Spring3和Hibernate的注解功能,DAO层的泛型设计以及通用的分页实现,来构建一个高效、可维护的Web应用。这样的实践...

    经典泛型dao层代码,非常好用简易

    本文将深入探讨一种在SSH(Struts+Spring+Hibernate)框架中广泛应用的经典泛型DAO层实现方式,旨在展示其简洁性、高效性和灵活性。 #### 泛型DAO层:概念与优势 泛型DAO层通过利用Java的泛型机制,提供了一种类型...

    Spring+Hibernate实现)Hibernate公用类

    本文将详细解析如何利用Spring和Hibernate来实现一个通用的DAO(Data Access Object)层,以提高代码复用性和项目开发效率。 首先,让我们了解Spring框架。Spring是一个全面的企业级应用开发框架,提供了依赖注入...

    struts+spring+hibernate通用分页方法

    在文档"struts+spring+hibernate通用分页方法.doc"中,可能会详细阐述如何配置这些框架的整合,如何编写Action、Service、DAO以及视图层的代码,以及如何测试和优化分页性能,例如缓存策略、预加载等。 这个通用...

    大家看看我设计的泛型DAO(使用Spring的Anotation和Hibernate)

    本篇文章将深入探讨一个使用Spring注解和Hibernate实现的泛型DAO设计,以提高代码的复用性和可维护性。 首先,`HibernateBaseDao.java`是基础的Hibernate DAO类,它提供了对Hibernate操作的基本封装。这个类通常会...

    Struts+Spring+Hibernate框架技术在Web开发中的研究与应用

    具体来说,可以利用Spring AOP和动态代理技术,实现一个通用的DAO基类或接口,该基类或接口能够自动为不同的实体类生成相应的DAO实例。这种方式不仅减少了代码量,还提高了系统的可扩展性和维护性。 #### 4. 实现...

    springmvc+hibernate+spring maven案例(包含分页查询)

    Spring MVC、Hibernate 和 Spring 是Java开发中非常流行的三大框架,它们分别用于Web应用的视图控制器、对象关系映射和依赖注入。这个压缩包提供的案例是这三个框架的整合使用,涵盖了基本的CRUD(创建、读取、更新...

    Hibernate泛型DAO及使用方法

    而`Hibernate泛型DAO`则是为了减少代码重复性,提高代码复用性和可维护性的一种设计模式。本文将深入探讨`Hibernate泛型DAO`的实现及其使用方法。 首先,DAO(Data Access Object)模式是一种设计模式,它的主要...

    Hibernate泛型DAO及使用方法借鉴.pdf

    《Hibernate泛型DAO及使用方法借鉴》 在Java开发中,特别是使用Spring+Hibernate框架时,泛型DAO(Data Access Object)是常见的设计模式,它提供了对数据库操作的一般化接口,以提高代码的重用性和可维护性。本文...

    虚拟数据层 Struts2、Hibernate、Spring整合的泛型DAO Version 2010.9.27

    Struts2、Hibernate、Spring整合的泛型DAO (本人评价: 代码开发效率提高30% 代码出错率减少70%) 对于大多数开发人员,系统中的每个 DAO 编写几乎相同的代码到目前为止已经成为一种习惯。虽然所有人都将这种重复...

Global site tag (gtag.js) - Google Analytics