`

Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解

阅读更多

JavaEE企业级开发中,以SSH2框架为核心的应用非常广,大象根据项目实践经验,通过一个实例,详细的为大家讲解如何实现全注解式的开发。

开发环境
    JDK1.6.0_18
    Eclipse3.2.1
    MyEclipse5.1.0
    Tomcat6.0.10
    MySQL5.0.27
    Navicat Lite for MySQL 8.1.20

每个人的开发环境可能会有差异,但有一点我需要说明的是,JDK的版本不得低于1.5,因为用到了很多1.5版才支持的新特性。Tomcat和MySQL请不要低于我所用的版本,因为我没在其它的版本上进行测试。Navicat则是MySQL数据库的图形化操作工具。我在这里假定各位目前已经设置好了开发环境,下面就开始详细的说明。

由于要阐述的内容比较多,大象决定将它们划分成个几章节来讲,这一章就主要来说说jar包的选择。

第一部分:选择必须的jar包
新建一个web项目,然后将必要的jar包COPY到lib里面。根据本文实例demo,大象给出下图中的最少jar包配置。


我对这些jar包进行一下说明,方便大家理解。

    Struts2
    commons-fileupload-1.2.1.jar
    commons-logging-1.1.1.jar
    freemarker-2.3.13.jar
    ognl-2.6.11.jar
    struts2-convention-plugin-2.1.6.jar
    struts2-core-2.1.6.jar
    struts2-spring-plugin-2.1.6.jar
    xwork-2.1.2.jar
解压Struts2.1.6的lib文件夹,从中选出上面7个jar包添加到我们的工程库中。commons-logging、freemarker、ognl、struts2-core、xwork这5个还是struts2的核心包。但在Struts2.1.6这个版本中,还需要加上commons-fileupload包。如果没有,则启动就会报错,不过不需要像网上传言的那样还得加上commons-io的jar包,这些都亲自做过测试。在本实例中,我将对struts2也采取注解的方式,所以用到了struts2-convention-plugin-2.1.6.jar这个插件。因为要与spring整合,所以struts2-spring-plugin-2.1.6.jar也必不可少。

    Spring
    spring-2.5.6.jar
    ackport-util-concurrent.jar
    log4j-1.2.15.jar
    lf4j-log4j12-1.5.0.jar
在这里偷个懒,直接将spring的完整jar包加了进来,如果各位想精简类库的话,就选取它的分类jar包吧。比如本例使用struts2作为MVC框架,所以spring的webmvc就不可能用到了。有想改的朋友请自己动手改下。另外有点我想说下,如果采取完整spring的jar包,还需要Spring2.5.6\lib\concurrent文件夹中的backport-util-concurrent.jar,如果不加这个,spring会报错。但是采取spring分类jar包的形式,这个可以不用加,至于具体使用什么需要依赖这个包,大象还没去测试过,这个有待验证。还有lib\slf4j下的日志包,目前很多都开始采用基于slf4j接口的日志器,它的好处就是日志器是根据slf4j的接口来进行实现,可以在不改变代码的情况下更换日志器。最后Spring的源代码中使用的是commons-logging记录日志,因此这个包不能少,不过因为struts2也用到了,所以这里就省了。

    Hibernate
    hibernate-core-3.3.1.jar
    antlr-2.7.6.jar
    commons-collections-3.1.jar
    dom4j-1.6.1.jar
    javassist-3.4.GA.jar
    jta-1.1.jar
    slf4j-api-1.5.0.jar
Hibernate从3.3版开始,对jar包结构做了一次大的调整,我们只需要加入lib\required文件夹下面的6个jar包。请注意这6个jar包都是使用Hibernate所必须的。另外再加上hibernate核心包。这里我将slf4j-api-1.5.2.jar换成了1.5.0,这是因为slf4j是一个通用日志接口,不提供任何实现,我在demo里面使用的是log4j,而hibernate包里面没有log4j的slf4j实现。而且如果版本不一致,会有异常,因此我就采用Spring2.5.6\lib\slf4j里面提供的配套版本。另外我将commons-collections-3.1.jar换成了Struts2.1.6里面的3.2版。

    Annotations
    ejb3-persistence-1.0.2.jar
    hibernate-annotations-3.4.0.jar
    hibernate-commons-annotations-3.1.0.jar
例子中使用Hibernate JPA来完成实体对象映射,所以上面这些包都必不可少。使用注解的方式,可以不用写繁琐的配置文件,降低了出错机率。而且现在很多人都喜欢这种方式。大家可以去sourceforge下载
    下载地址:http://sourceforge.net/projects/hibernate/files/
    DBCP
    commons-dbcp-1.2.2.jar
    commons-pool-1.3.jar
    本例使用DBCP连接池来管理数据源。

    MySQL Driver
    mysql-connector-java-5.1.6-bin.jar
    MySQL数据库的连接驱动。

    可选的jar包
    cglib-nodep-2.1_3.jar
    这个包的作用是创建动态代理对象。比如在使用AOP方式管理spring事务时,如果我们的目标对象没有实现接口,而又要使用AOP来处理事务,这时就需要用到这个jar包。可以在Spring2.5.6\lib\cglib里面找到。

    jstl-1.1.2.jar
    standard-1.1.2.jar
    JSTL标签库,很经典的东东,如果需要可以将它们加入lib中。

在这里建议大家做开发的时候,不要过多的依赖MyEclipse提供的那些功能,多用手动的方式来做。那样方便是方便了,但不利于学习。比如加入上面这些开发所用的类库,这样可以更清楚的了解每个jar包的作用,增加知识的积累,方便以后调试。Ok,关于这部分的内容到这里就说完了,那么,我们下次继续。

分享到:
评论
1 楼 qingtianxl 2011-11-09  
怎么没有讲讲详细的注解用法 ? 对不起这个题目啊 !还得有那么多的人来这里看 失望而归

相关推荐

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解(含JAR包)

    Struts2.1.6、Spring2.5.6和Hibernate3.3.1是Java Web开发中的三个重要框架,合称为SSH(Struts2、Spring、Hibernate)。这个全注解实例详解旨在帮助开发者理解如何在不使用XML配置的情况下,通过注解实现这三大框架...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解(一)

    在这个全注解实例中,我们将深入理解如何利用Struts2.1.6、Spring2.5.6和Hibernate3.3.1构建应用程序,避免传统的XML配置文件,转而采用注解方式来提高开发效率。 **开发环境**: - JDK 1.6.0_18 - Eclipse 3.2.1 -...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例

    在Struts2.1.6版本中,全注解的开发方式可以显著减少XML配置文件,提高开发效率。`struts2-core`、`xwork`、`ognl`、`freemarker`、`commons-logging`是其核心依赖,`struts2-convention-plugin`则支持注解配置,...

    java ssh三大框架整合

    Java SSH三大框架整合 Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解五

    SSH框架详细的深入解析,附图解

    这份资料中的"Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解"可能包含了如何在Struts2中使用注解进行配置,使代码更简洁易读。 接下来是Spring,它是应用上下文框架,提供依赖注入(Dependency Injection...

    java上传 hibernate jmeter

    "测试SOA_WebService工具(SOAPUI,JMeter等)介绍和使用.doc"介绍了如何使用JMeter对Web服务进行性能测试,而"Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解(转自大象).doc"则展示了如何集成这三个框架构建一...

Global site tag (gtag.js) - Google Analytics