MVC对于我们来说,已经不陌生了,它起源于20世纪80年代针对smalltalk语言的一种软件设计模式,现在已被广泛应用。近年来,随着java的盛行,MVC的低耦合性、高重用性、可维护性、软件工程的可管理性等诸多优点使其在java平台中很受欢迎,其间,也诞生了许多优秀的MVC框架,如专注于控制层的Struts、WebWork, Struts2, JSF等框架,专注于业务逻辑方面的Spring框架、专注于持久层的Hibernate、iBatis、Castor、JORM等框架。由于最近用了一次SSI框架,因此本文主要是对Strtus2、Spring、iBatis三个开源的MVC框架进行一个小结。
Struts2主要来源于webwork框架,与Struts1相比,在数据传递方面,Struts2提供了更加强大OGNL标签功能,使其能够通过在action中定义变量来直接与jsp页面中的数据进行相互传值,省去了Struts1中的formbean;而在跳转控制方面,Struts2简化了配置文件的信息量,使页面和action之间的交换更加的简洁和直观,便于开发人员的管理。
Spring功能非常的强大,比如它的控制反转/依赖注入机制,省去了我们自己书写工厂模式的工作,实现类对我们将要用到控制类、业务逻辑类、数据访问类、以及JNDI或者JDBC数据源的托管;Spring对AOP支持使我们在用户权限控制、事务处理方面节省了很多工作量;
iBatis则是一种轻量级的OR Mapping框架,与Hibernate相比,iBatis提供了半自动化对象关系 映射的实现,开发人员需要编写具体的sql语句,为系统设计提供了更大的自由空间,为sql语句优化提供了便利。
下面这张图就是我们所用到的这三种框架的结合体,下面对其作以简单介绍。
在控制层,利用Strtus2标签功能,在Action中直接与jsp页面上的数据进行交互。在调用业务逻辑层应用时,Struts2提供了对Sping的支持。开发人员需要完成对struts.xml的配置工作和对各个Action类的编写。
在业务逻辑层,利用Spring框架的依赖注入实现对业务逻辑类和DAO类的实例托管;在事务处理方面,利用Spring提供的面向切面的事务处理功能,使对数据的事务控制脱离于数据访问接口实现;在对象关系映射方面,利用Spring对数据库连接池的托管和对iBatis框架的支持。开发人员需要完成对数据源的配置、对不同模块所对应的application*.xml文件的配置,以及对业务逻辑接口的定义和业务逻辑实现的编写。
在持久层,利用iBatis提供的半自动化对象关系映射的实现,开发人员需要编写具体的sql语句,为系统设计提供了更大的自由空间。另外,开发人员需要完成对SqlMapConfig.xml和*SqlMap.xml的配置,以及对DAO接口的定义和DAO接口的实现。
在各层之间进行交换的过程中,利用数据传输类进行数据的传递和交互。其中,数据传输类与数据库表一一对应。
SSI框架能够降低我们代码的耦合度,增强了代码的健壮性和可重用性,加快了开发速度,但是也有一些不足之处,比如由于三种框架的配置文件较多,也给我们带来了一些不便,特别是对于较小的应用来说更是如此。
- 大小: 98.5 KB
分享到:
相关推荐
ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子
相信大家对于mvc的三层架构已经灰常熟悉了,在这就不细讲了,个人感觉ssi的框架结构还是比较典型的mvc三层架构,还是比较容易上手的。关于这块的入门我想特别感谢下FrankHui童鞋,在他的帮助下,我才能比较快滴熟悉...
struts2+spring+ibatis(ssi),标准的MVC结构,使用的myeclipse+MySQL(数据库字段3个)很简单,因此没有必要附上数据库资源了。感兴趣的童鞋可以看看。
使用Verilog 编程语言实现对11 bit 编码器SSI输出的读取
用于将SSI协议转换成RS232协议,因为带SSI协议处理能力的单片机几乎没有
SSI library, Logic gates verilog codes
SSI概述,工作原理,传输协议等等 word
fpga ssi之间的通信,使用fpga完成ssi的设计
针对SSI 效应问题,体系阻尼比的准确评估是其动力分析的重要前提。为了实现 实际SSI 体系阻尼比值较准确的识别,提出环境激励下SSI 体系阻尼比测试与识别方法,并应用这一识别方法,给出西 安及其周围地区82 幢各类...
ssi
SSI整合的Jar包,有需要的就赶紧下载
本文讲述编码器的SSI BISS EnDat 通信协议。讲述了定义、组成、时序、组网等。SSI通讯协议为缩写,其全称为同步串行接口( Synchronous Serial interface )。 SSI通讯的帧格式如图1所示,数据传输采用同步方式 BiSS...
SSI完整配置与实例,有所有的jar包,sqlServer数所库连接
协方差驱动的模态参数识别的SSI算法,基于斜拉桥的环境激励算法
。SSI接口是Stellaris系列ARM都支持的标准外设,也是流行的外部串行总线之一 该程序控制8位led的显示 通过 SSI
zaiweb开发中,用SSI作为框架的必要jar包
需要指出的是,还存在改进算法的速度和内存使用的空间,比如用于RQ分解的位移结构算法和SVD的Lanczos算法。在这个软盘上实现的算法只使用基本的MATLAB命令(没有花哨的优化c代码)。请随意改进,让我知道您的想法:
最新整合SSI框架,提供数据服务到页面展示功能
SSI转ABZ信号FPGA程序,测试完全可用
TI CORTEX M3 SSI驱动8位数码管源程序