spring和struts2开发框架总结

来源:互联网 发布:性玩具知乎 编辑:程序博客网 时间:2024/05/02 01:01

从事java工作几年中主要使用了两种框架:

1. struts2 + spring + httl2. springMVC + mybatis

下面分别总结一下这两种框架需要注意的地方,各自适合什么项目以及优缺点
struts2 + spring + httl

struts2:

* 相当于MVC种的view层,用来控制前端页面和后台的交互逻辑。

这里写图片描述

spring:

* spring充当了管理容器的角色, 可将应用程序中的Bean组件实现低耦合关联.提高系统可拓展和可维护性。* Spring的Ioc(控制反转和依赖注入)*     * 控制反转:就是由容器控制程序之间的(依赖)关系,而非传统实现中,由程序代码直接操控。    * 

依赖注入:组建之间的依赖关系由容器在运行期间决定,由容器动态的将某种依赖关系注入到组件之中

持久层:

* 采用JDBC的形式,这样的优点在于可以自己控制sql的灵活性,并且可以监控到debug的每一个步骤。

架构优缺点:

* 优点:*     * 灵活性较高,在debug方面可深度代码或者sql进行跟踪查询。    * 开发周期短,搭建项目快速方便。* 缺点:*     * 自己需要写JDBC的代码,需要控制持久层的低耦合性。    * sql没有进行过高级的封装,安全性会有隐患。

springMVC + Mybatis + JSP

这一套框架应用的spring自身的MVC系统,持久层用了mybatis来操作。
这里写图片描述

这套框架spring担当了:model,视图层,控制层的MVC所有角色。再加上Mybatis的持久化层,整体上达到了非常低的耦合性,但是也一定程度上增加了工作的繁琐程度。

架构优缺点:

* 优点:*     * 项目耦合性很低,更适合项目的拓展。    * 视图层的访问和跳转相对灵活。转发,重定向。    * 因为加入了mybatis来替代JDBC,使得持久化的工作可以提升效率。    * 架构整体安全性相对较高,可用组件丰富且成熟。* 缺点:*     * 增加了一部分代码工作,需要写很多接口,和实现类。对于小项目不太适合。    * 持久层用了mybaits后,debug工作并不像JDBC那么灵活直接。
0 0
原创粉丝点击