学习SSH全注解实例 过程(一)

来源:互联网 发布:apache2.2.25搭配的php 编辑:程序博客网 时间:2024/06/05 07:32
SSHSpringHibernateMySQLlog4j

原文链接:http://www.java3z.com/cwbwebhome/article/article8/81135.html

 

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

    开发环境
    JDK 1.6.0 _18
    Eclipse 3.2.1
    MyEclipse 5.1.0
    Tomcat 6.0.10
    MySQL 5.0.27
    Navicat Lite for MySQL 8.1.20

    每个人的开发环境可能会有差异,但有一点我需要说明的是,JDK 的版本不得低于1.5 ,因为用到了很多1.5 版才支持的新特性。TomcatMySQL 请不要低于我所用的版本,因为我没在其它的版本上进行测试。

 

 

Navicat 则是MySQL 数据库的图形化操作工具。我在这里假定各位目前已经设置好了开发环境,下面就开始详细的说明。
    由于要阐述的内容比较多,大象决定将它们划分成个几章节来讲,这一章就主要来说说jar 包的选择。

    第一部分 选择必须的 jar

    新建一个web 项目,然后将必要的jarCOPYlib 里面。根据本文实例demo ,大象给出下图中的最少jar 包配置。

         
    我对这些jar 包进行一下说明,方便大家理解。
    
    解压Struts 2.1.6 lib 文件夹,从中选出上面7jar 包添加到我们的工程库中。commons-loggingfreemarkerognlstruts2-corexwork5 个还是struts2 的核心包。但在Struts2.1.6 这个版本中,还需要加上commons-fileupload 包。如果没有,则启动就会报错,不过不需要像网上传言的那样还得加上commons-iojar 包,这些大象都亲自做过测试。在本实例中,我将对struts2 也采取注解的方式,所以用到了struts2-convention-plugin-2.1.6.jar 这个插件。因为要与spring 整合,所以struts2-spring-plugin-2.1.6.jar 也必不可少。
    

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

    

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

    

    例子中使用Hibernate JPA 来完成实体对象映射,所以上面这些包都必不可少。使用注解的方式,可以不用写繁琐的配置文件,降低了出错机率。而且现在很多人都喜欢这种方式。大家可以去sourceforge 下载。


    下载地址 http://sourceforge.net/projects/hibernate/files/
    
    本例使用DBCP 连接池来管理数据源。
    
    MySQL 数据库的连接驱动。
    

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

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

原文地址:http://www.java3z.com/cwbwebhome/article/article8/81135.html