注解驱动地StrutsSpringHibernate开发框架.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
注解驱动地StrutsSpringHibernate开发框架

基于注解驱动的Struts_Spring_Hibernate开发框架 摘要:随着Java开源框架不断引进对注解(Annotation)的支持,使得开发人员可以用单方面去管理类及其之间关系,而不用像以往以XML配置文件的方式那样,一旦遇到问题,就要不断在Java视图和XML视图中切换。基于注解驱动的方式,大大减少了Struts、Spring、Hibernate的XML配置,配置与代码集中在同一个地方,可以很敏捷的进行即时反射,是架构轻量级Java Web应用的很好选择。 关键词:Struts;Spring;Hibernate;注解(Annotation) 引言 Struts + Spring + Hibernate是目前国内外主流Java Web应用开发框架之一。Struts作为前台控制框架简化了程序的开发,使页面设计人员和Java程序编写人员达到有效的分离,降低系统架构的耦合性。Hibernate是一个O/R Mapping持久层框架的轻量级组件,对持久层进行了轻量级封装,降低了程序的复杂度。Spring作为一个应用于所有层面综合框架,具有强大的应用功能及灵活性,非常适合作为一些大规模软件项目的底层平台。随着Java开源框架不断引进对Annotation的支持,其传统的XML配置方式与Annotation配置方式相对比,传统的XML的配置方式的缺点是:代码与配置的分开,必须维护两份相对应的代码(配置也可以认为是一种代码),相对比较烦琐,而Annotation方式代码与配置集中在同一个地方,修改比较方便,以很敏捷的进行即时反射,是架构轻量级Java Web应用的很好选择。育儿圈平台就是基于Annotation的方式架构的。 Struts + Spring + Hibernate的体系架构 大部分Web应用都可以按照职责分为表现层、业务逻辑层、数据持久层和领域模型层,每一层负责整个应用不同方面的职责,并且不应该和其他层有功能上的混合,应当每一层都应该和其他层隔离,只允许通过明确的接口在层与层之间进行通讯。下图是基于Struts + Spring + Hibernate框架的基本体系架构图: 图1 Struts + Spring + Hibernate框架的基本体系架构图 表现层采用Struts框架,它执行如下的功能: 管理客户端的请求并做出相应的应答。 提供一个控制器,管理分派调用业务逻辑和其他上层处理。 验证用户输入,确保用户输入的信息合法有效。 处理异常,将所有异常抛给Struts Action统一处理。 业务逻辑层采用Spring框架,它负责如下的功能: 处理应用程序的业务逻辑和业务校验。 统一管理事物。 提供与其他相互作用的接口。 管理业务级别的对象的依赖。 在表现层和数据持久层之间增加了一个灵活的机制,避免两者的直接联系,实现松耦合编程。 在数据持久层上,构造出业务逻辑的上下文,提供业务逻辑服务。 管理基于数据持久层的业务逻辑的实现。 数据持久层的作用是让数据持久保留下来以及把持久保存的数据读取出来。数据持久层采用目前比较成熟的Hibernate框架,它为Java提供对象模型到关系模型的持久化和查询服务。Hibernate执行如下功能:①查询关系数据以得到对象。②执行数据的保存、修改和删除操作。 领域模型层由实际需求中的业务对象组成。域模型层使得程序员能以自然的面向对象的方式工作,而不需要额外的编码。域模型层主要的作用是提供一个在不同层之间转移的对象集合。 在Struts_Spring_Hibernate架构中使用Annotation 3.1实体类的Annotation配置 例如平台中的空间留言表实体类,其基于Annotation配置方式的代码如下图所示: 其中: @Entity定义Spacemessage类为实体类,@Table定义该实体类在数据库中对应的表名。 @Id定义该属性对应的列为主键,@SequenceGenerator和@GeneratedValue指定主键的生成方式为序列生成方式(Oracle)。 @Column定义该属性对应表中的列名,以及其他如:unique(是否唯一)、nullable(可否为空)等属性。 基于Annotation的配置方式省略了每个实体类一个hbm.xml配置文件的烦琐操作,看起来更加简洁、明了。 Dao和Manager组件的Annotation配置 在育儿圈平台中,所有的DAO类都是继承自一个通用的泛型DAO类:SimpleHibernateTemplateT, PK extends Serializable。DAO和Manager组件基于Annotation方式配置的代码如下图所示: 其中: @Service表示SpacemessageManager类是一个servi

文档评论(0)

镜花水月 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档