来自:http://www.blogjava.net/lishunli/archive/2010/03/11/315055.html
使用 Annotation 并对 DAO 层封装具有分页功能的 S2SH 整合实例
李顺利
2010 年 1 月 24 日
目录
基于 Annotation的 Hibernate配置 ... 5
基于 Annotation的 Spring配置 ... 10
关键词
使用 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
其中下文会对 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
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
还有一些其他的辅助 Jar 包:
mysql-connector-java-5.1.7-bin.jar 、 aspectjweaver.jar 、 commons-dbcp-1.2.2.jar 、 commons-pool.jar 、 junit-4.6.jar
上面的 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 框架的整合了。
基于Annotation 的Struts 配置
使用 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 ; } }
|
基于Annotation 的Hibernate 配置
Hibernate 的 Annotation 方式很类似于 EJB 中的 JPA ,主要的 Annotation 注解是: @Entity 、 @Table 、 @Id 、 @GeneratedValue 、 @Column 。具体的注解请上网查看一下。这里介绍一种简便的方法生成基于 Annotation 的 Hibernate 持久类。
1. 使用 Myeclipse 添加对 Hibernate 的支持
右键项目,选择 MyEclipse 后选择 Add hibernate Capabilities (一般都会先添加对 Spring 的支持后在添加对 Hibernate 的支持,这样会使用 Spring 管理 Hibernate )
这个时候就不需要选择 Jar 包了, Hibernate 的 Jar 已经加入进来, Next ,选择 Spring 的配置文件,这样可以使用 Spring 进行管理 Hibernate (这也是为什么要先添加对 Spirng 的支持) ,Next
选择已经存在的 Spring 配置文件
后选择已经创建好的 DateSource 。
即可,详情请阅读 Struts+Spring+Hibernate整合注册登录 —— 使用 Myeclipse 快速开发 ,里面有详细的介绍。
2. 进入生成 DB Brower 视图(可以通过 windows->show View 找到)
找到后连接 MySql 数据库后,即可生成 Hibernate 的持久类
生成的实例代码
相关推荐
在这个基于Annotation并对DAO层封装具有分页功能的S2SH整合实例中,我们将探讨如何利用这些技术的特性来提高开发效率和代码可维护性。 首先,让我们深入了解一下Struts2。Struts2是基于MVC模式的开源Web应用框架,...
### 使用Annotation并对DAO层封装具有分页功能的S2SH整合实例 #### 一、概述与背景 随着软件开发技术的不断进步,越来越多的技术趋势正在影响着开发模式的选择。其中,注解(Annotation)作为Java SE 5引入的一项...
此文档作为对《使用Annotation并对DAO层封装具有分页功能的S2SH整合实例》的后续补充,重点在于通过XML配置文件而非注解的方式来完成框架间的整合。 #### 目标读者 本文档适用于具备一定的Java开发基础,特别是对...
基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能
**S2SH整合Annotation详解** S2SH,全称Struts2+Spring+Hibernate,是Java Web开发中常见的三大框架的组合,它们分别是用于MVC(Model-View-Controller)架构的Struts2,用于依赖注入和管理Bean的Spring,以及用于...
本主题聚焦于"S2SH"的整合,即Struts2、Hibernate3和Spring2的结合,并特别强调了使用Annotation的方式。以下是对这些技术以及整合过程的详尽解析。 **Struts2** 是一个基于MVC(Model-View-Controller)设计模式的...
这些配置文件和代码会详细阐述如何进行S2SH的整合,以及如何使用注解进行配置,如何处理JSON数据,以及如何设计和实现泛型Dao。通过深入学习和实践这些内容,开发者可以更好地理解和掌握企业级Java Web应用的开发...
在本项目“s2sh_annotation.rar”中,开发者使用了注解的方式来配置这些框架,使得代码更加简洁,减少了XML配置文件的使用。 Struts2框架注解: Struts2通过Action和Result注解简化了Action类的配置。@Action注解...
Struts2SpingHibernate整合学习项目,实现注册功能,用Annotation注入,带jar包,引入工程就能用,用MySql实现,最适合于学习s2sh整合的朋友。千里之行,始于足下,同志们,我们一起努力吧
【标题】"s2sh_annotation.rar_纯s2sh框架" 涉及的主要知识点是Struts2、Spring和Hibernate(简称S2SH)的整合应用,以及在该框架中的注解(Annotation)使用。 【描述】提到的是一个新人为了帮助其他初学者而创建...
在IT行业中,S2SH(Struts2 + Spring + Hibernate)是一种常见的企业级Web应用程序开发框架,它结合了Struts2的MVC架构、Spring的依赖注入和事务管理以及Hibernate的对象关系映射功能。本教程将重点讲解如何利用S2SH...
"毕业设计-学生成绩管理系统(基于annontation 的s2sh整合开发的完整实例)" 这个标题表明这是一个针对学生毕业设计的项目,主要目标是构建一个学生成绩管理系统。系统的核心开发技术是基于注解(Annotation)的Struts...
总的来说,S2SH框架整合的注解篇是Web开发人员必须掌握的重要技能之一,它涵盖了三大框架的核心功能,并提供了更现代化的编程方式。通过深入学习和实践,开发者可以更好地驾驭这三大框架,提高项目的开发效率和质量...
S2SH是Java Web开发中的经典组合,它们分别负责表现层、控制层和数据持久化层的功能,共同构建了一个完整的MVC(Model-View-Controller)架构。下面将详细阐述这三个框架的核心概念以及它们在整合过程中的交互。 **...
【标题】:“Extjs+s2sh基于annotation实现的酒店管理系统”是一个综合性的IT项目,它融合了前端的Extjs框架和后端的Spring、Struts2以及Hibernate这三大经典技术(合称为S2SH),并利用注解(Annotation)进行简化...
本程序整合了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的理财系统"是一个综合性的IT项目,它结合了前端的ExtJS框架和后端的Struts2、Spring、Hibernate(S2SH)框架,并利用注解(Annotation)进行配置,构建了一个完整的理财管理系统...
【标题】"基于annotation s2sh实现零配置的教务管理系统"揭示了这个项目的核心技术特点,即使用了Spring、Struts2和Hibernate这三大框架的集成(S2SH),并借助注解(Annotation)来实现系统的零配置。在传统的S2SH...