边做边学小型封装--利用主流框架进行Dao层通用化,Spring3.0+Hibernate3.3.2通用Dao层整合(一)
数据Dao层大家也写了很多了,只要是每对应一个表的话就会有对应的一个类进行增删查改(没算中间表),如果按照面向对象的思维来讲,中间表也算一个表也应该有对应的Dao层操作.Dao层操作其实无非就是数据库中的表进行增删改查这几个功能,如果可以把所有增删查改方法统一做成一个通用的增删改查方法多好啊.想起之前写过通用JDBC增删改查功能法,既然JDBC可以那换成框架组合也一定可以,利用JDK5.0的新特性泛型,可以很好的帮助我把目前主流的2大框架Spring和Hibernate很好的整合起来,方便以后我们操作.
框架采用目前比较新的Spring3.0和Hibernate3.3.2GA进行组合,由于Spring3.0的Jar包只是带了自身功能的不像2.5.6把所有需要的依赖包都带上了,而Spring3.0把所有功能的包都拆分成为每个独立的Jar包不会像Spring2.5.6分成功能整合包Spring.jar和按功能模块分类的包(功能模块包位置在\dist\modules下)先把Spring3.0Jar包大概介绍一下:
org.springframework.aop-3.0.0.RELEASE--------------------Spring的面向切面编程,提供AOP(面向切面编程)实现
org.springframework.asm-3.0.0.RELEASE--------------------Spring独立的asm程序,相遇Spring2.5.6的时候需要asmJar包.3.0开始提供他自己独立的asmJar
org.springframework.aspects-3.0.0.RELEASE----------------Spring提供对AspectJ框架的整合\
org.springframework.beans-3.0.0.RELEASE------------------SpringIoC(依赖注入)的基础实现
org.springframework.context.support-3.0.0.RELEASE--------Spring-context的扩展支持,用于MVC方面
org.springframework.context-3.0.0.RELEASE----------------Spring提供在基础IoC功能上的扩展服务,此外还提供许多企业级服务的支持,如邮件服务、任务调度、JNDI定位、EJB集成、远程访问、缓存以及各种视图层框架的封装等
org.springframework.core-3.0.0.RELEASE-------------------Spring3.0的核心工具包
org.springframework.expression-3.0.0.RELEASE-------------Spring表达式语言
org.springframework.instrument.tomcat-3.0.0.RELEASE------Spring3.0对Tomcat的连接池的集成
org.springframework.instrument-3.0.0.RELEASE-------------Spring3.0对服务器的代理接口
org.springframework.jdbc-3.0.0.RELEASE-------------------对JDBC的简单封装
org.springframework.jms-3.0.0.RELEASE--------------------为简化JMS API的使用而作的简单封装
org.springframework.orm-3.0.0.RELEASE--------------------整合第三方的ORM框架,如hibernate,ibatis,jdo,以及spring的JPA实现
org.springframework.oxm-3.0.0.RELEASE--------------------Spring 对Object/XMl的映射支持,可以让Java与XML之间来回切换
org.springframework.test-3.0.0.RELEASE--------------------对Junit等测试框架的简单封装
org.springframework.transaction-3.0.0.RELEASE-------------为JDBC、Hibernate、JDO、JPA等提供的一致的声明式和编程式事务管理
org.springframework.web.portlet-3.0.0.RELEASE-------------SpringMVC的增强
org.springframework.web.servlet-3.0.0.RELEASE-------------SpringMVC工具包,并且对JEE6.0 Servlet3.0的支持
org.springframework.web.struts-3.0.0.RELEASE--------------整合Struts的时候的支持
org.springframework.web-3.0.0.RELEASE--------------------SpringWeb下的工具包
由于3.0的新加的新特性比较多这里采用的还是基于2.5.6版本的改变进行整合