`
wangdj
  • 浏览: 26184 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

使用Annotation并对DAO层封装具有分页功能的S2SH整合实例

阅读更多

来自:http://www.blogjava.net/lishunli/archive/2010/03/11/315055.html

使用 Annotation 并对 DAO 层封装具有分页功能的 S2SH 整合实例

 

李顺利

2010 1 24

目录

关键词 ... 2

前言 ... 2

开发环境 ... 2

开发步骤 ... 2

环境的集成 ... 2

Struts2.1.8所需 Jar ... 2

Hibernate3.3所需 Jar ... 3

Spring3.0所需 Jar ... 3

基于 Annotation Struts配置 ... 4

基于 Annotation Hibernate配置 ... 5

基于 Annotation Spring配置 ... 10

DAO层封装 ... 12

分页 ... 19

业务逻辑 ... 21

测试 ... 22

实例结果 ... 23

参考网站 ... 23

源码下载 ... 23

学习探讨 ... 23

 

 


关键词

使用 Annotation 并对 DAO 层封装具有分页功能的 S2SH 整合实例,李顺利, Annotation DAO 层封装,分页, SSH 整合,实例,黎活明,传智播客,巴巴 运动网

前言

       现在 Annotation 越来越流行,最近一段时间也学了一些, EJB3.0 Hibernate Spring 等都很好地支持 Annotation ,而且熟悉了 Annotation 的话整个项目开发时间会缩短,代码封装比较好,但是封装带来的就是代码阅读就比较困难了。 Annotation 也是一门知识,可以选 择使用 Annotation 还是其他。个人认为由 Sun 官方支持的 EJB 规范会越来越流行,此时如果使用基于 Annotation SSH 框架很容易转移到 Struts+EJB+Spring 的项目中,而且使用 Annotation ,很容易实现 0 配置,像在这个实例中就一个配置,这样避免了配置文件多而不知所措的情况。

开发环境

Jdk1.5+Struts2.1.8+Hibernate3.3+Spring3.0+MySql5.0+MyEclipse8.0

开发步骤

环境的集成

到官网下 载上面开发环境中的框架和工具,安装完成后。在 Myeclipse 中新建名为 SSHWithAnnotationDemo web project ,添加 SSH 整合所需要的包,这里详细说一下需要哪些包?

Struts2.1.8 所需 Jar

xwork-core-2.1.6.jar aopalliance-1.0.jar commons-logging-1.0.4.jar commons-fileupload-1.2.1.jarcommons-io-1.3.2.jar freemarker-2.3.15.jar ognl-2.7.3.jar struts2-convention-plugin-2.1.8.1.jar struts2-core-2.1.8.1.jar struts2-spring-plugin-2.1.8.jar

       clip_image002

其中下文会对 struts2-convention-plugin 插件进行详细讲解。

Hibernate3.3 所需 Jar

slf4j-log4j12.jar antlr-2.7.6.jar commons-collections-3.1.jar dom4j-1.6.1.jar ejb3-persistence.jar hibernate3.jar hibernate-annotations.jar hibernate-commons-annotations.jar javassist-3.9.0.GA.jar jta-1.1.jarlog4j.jar slf4j-api-1.5.8.jar

       clip_image004

Spring3.0 所需 Jar

org.springframework.web-3.0.0.RC1.jar org.springframework.aop-3.0.0.RC1.jar org.springframework.asm-3.0.0.RC1.jarorg.springframework.beans-3.0.0.RC1.jar

org.springframework.context-3.0.0.RC1.jar org.springframework.core-3.0.0.RC1.jar org.springframework.expression-3.0.0.RC1.jar org.springframework.jdbc-3.0.0.RC1.jar org.springframework.orm-3.0.0.RC1.jar org.springframework.test-3.0.0.RC1.jar org.springframework.transaction-3.0.0.RC1.jar

 

clip_image005

还有一些其他的辅助 Jar 包:

mysql-connector-java-5.1.7-bin.jar aspectjweaver.jar commons-dbcp-1.2.2.jar commons-pool.jar junit-4.6.jar

clip_image006

上面的 Jar 包都可以在相应的框架 Jar 文件夹里面找到,具体的 Jar 包作用如果不清楚的话请 Google 一下。为了方便,顺利提供所有 这些 Jar 包下 载。

顺利提供下载:
文 件 名:Struts2.1.8+Hibernate3.3+Spring3.0整合所需Jar包.rar
下载地址:http://usc.googlecode.com/files /Struts2.1.8%2BHibernate3.3%2BSpring3.0%E6%95%B4%E5%90%88%E6%89%80%E9%9C%80Jar%E5%8C%85.rar
请复制上面的链接下载  

 

       加入 Jar 包后,就可以进行 SSH 框架的整合了。


基于AnnotationStruts 配置

使用 Annotation Struts 配置可以实现 0 配置,这个时候就不需要对 Struts.xml 进行任何的配置, 0 配置的实现主要是使用 struts2-convention-plugin 插件。大致 介绍下 convention-plugin 插件。

1.      默 认所有的结果页面都存储在 WEB-INF/content

2.      命 名规则:去掉类名的 Action 部分。然后将将每个分部的首字母转为小写,用 ’-’ 分割。

a)        举 例: TestAction ,那么访问的时候就是 test.action;

b)        举 例: StudentListAction ,那么访问的时候就是 student-list.action

3.        常 用的 Annotation

a)        @Controller : 申明 Struts 为控制层;

b)        @Scope ( "prototype" ) : 申明 Struts 的范围为原型;

c)        @Results :全局的结果集,可以配置 execute 执行后跳转的页面。

@Results ({ @Result (name = "success" , location = "teacher/teacherList.jsp" ), @Result (name = "input" , location = "/index.jsp" ) })

通过 convention-plugin 插件就可以很简单的配置 Struts 的配置, 如果想 更好地了解 convention-plugin 插件请查看下面的网站或者自己 Google 一下。

http://cwiki.apache.org/WW/convention-plugin.html

http://javeye.iteye.com/blog/358744

http://yzl45.iteye.com/blog/346632

代码举例:

import org.apache.struts2.convention.annotation.Result;

import org.apache.struts2.convention.annotation.Results;

import org.springframework.context.annotation.Scope;

import org.springframework.stereotype.Controller;

 

import com.opensymphony.xwork2.ActionSupport;

/**

  * 测试 convention - plugin 插件

  */

 

@Controller

@Scope ( "prototype" )

@Results (

{ @Result (name = "success" , location = "test/test.jsp" ), @Result (name = "input" , location = "/index.jsp" ) })

// 成功的页面 会跳到 WebRoot/WEB-INF/content/test/test.jsp, 失败会跳 到 WebRoot/index.jsp

public class TestAction extends ActionSupport

{

    /*

      * @see com.opensymphony.xwork2.ActionSupport#execute()

      */

    @Override

    public String execute() throws Exception

    {

       System. out .println( " 测试 convention-plugin 插件 " );

       return INPUT ;

    }

}

 

基于AnnotationHibernate 配置

Hibernate Annotation 方式很类似于 EJB 中的 JPA ,主要的 Annotation 注解是: @Entity @Table @Id @GeneratedValue @Column 。具体的注解请上网查看一下。这里介绍一种简便的方法生成基于 Annotation Hibernate 持久类。

1.  使用 Myeclipse 添加对 Hibernate 的支持

右键项目,选择 MyEclipse 后选择 Add hibernate Capabilities (一般都会先添加对 Spring 的支持后在添加对 Hibernate 的支持,这样会使用 Spring 管理 Hibernate

clip_image008

clip_image010

这个时候就不需要选择 Jar 包了, Hibernate Jar 已经加入进来, Next ,选择 Spring 的配置文件,这样可以使用 Spring 进行管理 Hibernate (这也是为什么要先添加对 Spirng 的支持) ,Next

clip_image012

选择已经存在的 Spring 配置文件

clip_image014

后选择已经创建好的 DateSource

clip_image016

clip_image018

即可,详情请阅读 Struts+Spring+Hibernate整合注册登录 —— 使用 Myeclipse 快速开发 ,里面有详细的介绍。

2.  进入生成 DB Brower 视图(可以通过 windows->show View 找到)

clip_image020

找到后连接 MySql 数据库后,即可生成 Hibernate 的持久类 clip_image022

clip_image024

生成的实例代码

@Entity

@Table (name = "student" , catalog = "test" )

public class Student implements java.io.Serializable

{

 

    // Fields

 

    private Integer no ;

    private String name ;

    private String sex ;

    private Integer age ;

    private Double score ;

    private Date eduTime ;

 

    // Constructors

 

    /** default constructor */

    public Student()

    {

    }

 

    /** minimal constructor */

    public Student(String name, String sex)

    {

        this . name = name;

        this . sex = sex;

    }

 

    /** full constructor */

    public <span style

分享到:
评论

相关推荐

    基于Annotation并对DAO层封装具有分页功能的S2SH整合实例

    在这个基于Annotation并对DAO层封装具有分页功能的S2SH整合实例中,我们将探讨如何利用这些技术的特性来提高开发效率和代码可维护性。 首先,让我们深入了解一下Struts2。Struts2是基于MVC模式的开源Web应用框架,...

    使用Annotation并对DAO层封装具有分页功能的S2SH整合实例_好资源0分送

    ### 使用Annotation并对DAO层封装具有分页功能的S2SH整合实例 #### 一、概述与背景 随着软件开发技术的不断进步,越来越多的技术趋势正在影响着开发模式的选择。其中,注解(Annotation)作为Java SE 5引入的一项...

    使用配置文件对DAO层封装具有分页功能的S2SH整合实例_好资源0分送

    此文档作为对《使用Annotation并对DAO层封装具有分页功能的S2SH整合实例》的后续补充,重点在于通过XML配置文件而非注解的方式来完成框架间的整合。 #### 目标读者 本文档适用于具备一定的Java开发基础,特别是对...

    基于Annotation的s2sh整合配置实现分页功能

    基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能

    s2sh整合annotation

    **S2SH整合Annotation详解** S2SH,全称Struts2+Spring+Hibernate,是Java Web开发中常见的三大框架的组合,它们分别是用于MVC(Model-View-Controller)架构的Struts2,用于依赖注入和管理Bean的Spring,以及用于...

    S2SH整合基于annotation

    本主题聚焦于"S2SH"的整合,即Struts2、Hibernate3和Spring2的结合,并特别强调了使用Annotation的方式。以下是对这些技术以及整合过程的详尽解析。 **Struts2** 是一个基于MVC(Model-View-Controller)设计模式的...

    S2SH整合例子 注解配置 JSON 泛型Dao

    这些配置文件和代码会详细阐述如何进行S2SH的整合,以及如何使用注解进行配置,如何处理JSON数据,以及如何设计和实现泛型Dao。通过深入学习和实践这些内容,开发者可以更好地理解和掌握企业级Java Web应用的开发...

    s2sh_annotation.rar_S2SH annotation_s2sh_s2sh_annotation

    在本项目“s2sh_annotation.rar”中,开发者使用了注解的方式来配置这些框架,使得代码更加简洁,减少了XML配置文件的使用。 Struts2框架注解: Struts2通过Action和Result注解简化了Action类的配置。@Action注解...

    s2sh整合项目,Annotation注入,MySQL数据库,带Jar包

    Struts2SpingHibernate整合学习项目,实现注册功能,用Annotation注入,带jar包,引入工程就能用,用MySql实现,最适合于学习s2sh整合的朋友。千里之行,始于足下,同志们,我们一起努力吧

    s2sh_annotation.rar_纯s2sh框架

    【标题】"s2sh_annotation.rar_纯s2sh框架" 涉及的主要知识点是Struts2、Spring和Hibernate(简称S2SH)的整合应用,以及在该框架中的注解(Annotation)使用。 【描述】提到的是一个新人为了帮助其他初学者而创建...

    S2SH实现的增删改查(采用注解Annotation)

    在IT行业中,S2SH(Struts2 + Spring + Hibernate)是一种常见的企业级Web应用程序开发框架,它结合了Struts2的MVC架构、Spring的依赖注入和事务管理以及Hibernate的对象关系映射功能。本教程将重点讲解如何利用S2SH...

    毕业设计-学生成绩管理系统(基于annontation 的s2sh整合开发的完整实例)

    "毕业设计-学生成绩管理系统(基于annontation 的s2sh整合开发的完整实例)" 这个标题表明这是一个针对学生毕业设计的项目,主要目标是构建一个学生成绩管理系统。系统的核心开发技术是基于注解(Annotation)的Struts...

    s2sh框架整合学习之注解篇

    总的来说,S2SH框架整合的注解篇是Web开发人员必须掌握的重要技能之一,它涵盖了三大框架的核心功能,并提供了更现代化的编程方式。通过深入学习和实践,开发者可以更好地驾驭这三大框架,提高项目的开发效率和质量...

    S2SH小demo

    S2SH是Java Web开发中的经典组合,它们分别负责表现层、控制层和数据持久化层的功能,共同构建了一个完整的MVC(Model-View-Controller)架构。下面将详细阐述这三个框架的核心概念以及它们在整合过程中的交互。 **...

    Extjs+s2sh基于annotation实现的酒店管理系统

    【标题】:“Extjs+s2sh基于annotation实现的酒店管理系统”是一个综合性的IT项目,它融合了前端的Extjs框架和后端的Spring、Struts2以及Hibernate这三大经典技术(合称为S2SH),并利用注解(Annotation)进行简化...

    S2S3H3整合以及泛型Dao与Service封装

    本程序整合了struts-2.2.3.1+spring-framework-3.1.0+hibernate-distribution-3.6.8+JSON+MySQL+Annotation,并且对Dao和Service进行了封装,内含.jar包,并且解决了一对多双向关联的could not initialize proxy - ...

    extjs+s2sh基于annotation的理财系统

    【标题】"extjs+s2sh基于annotation的理财系统"是一个综合性的IT项目,它结合了前端的ExtJS框架和后端的Struts2、Spring、Hibernate(S2SH)框架,并利用注解(Annotation)进行配置,构建了一个完整的理财管理系统...

    基于annotation s2sh实现零配置的教务管理系统

    【标题】"基于annotation s2sh实现零配置的教务管理系统"揭示了这个项目的核心技术特点,即使用了Spring、Struts2和Hibernate这三大框架的集成(S2SH),并借助注解(Annotation)来实现系统的零配置。在传统的S2SH...

Global site tag (gtag.js) - Google Analytics