velocity+spring mvc+spring ioc+ibatis框架是我现在公司要求采用的,原因是因为阿里巴巴和淘宝在使用这样的框架,而我公司现在还主要是以向阿里巴巴和淘宝输送外派人员为 主,所以要求采用阿里巴巴和淘宝的框架来做.所以,从此开始了对这种框架的学习过程.

但是使用过一段时间以后,将velocity+spring mvc+spring ioc+ibatis框架组合(简称为VSSI)与struts+spring+hibernate(简称为SSH)对比后,有了自己的一些体会,一吐为快.

可以说,两种组合各有优势,采用何种组合来开发,我认为应该从具体项目来考虑.我个人感觉,偏向于SSH组合,感觉从各方面综合来衡量,SSH更划算.为什么呢,我们先从各自的优势说起,VSSI有几个坏处,或者说是劣势吧,

第一:velocity提供的标签功能较少,相对struts来说,灵活性很差,但是velocity的运行速度比JSP高,但是,做为一般的项目而言,这点损失是无所谓的,也就是说,优势已经不成优势了.

第 二:velocity在eclipse以及JB或者NB里,还没有可视化编辑的插件,也就是说,IDE还没有提供对Velocity的可视化支持,这样的 话,在开发上,就增加了模板开发与维护的难度,必需进行手写代码,当然,你也可以先对HTML进行排版,再改成Velocity模板,但是,这毕竟没有 IDE直接支持好,而struts使用的是JSP,eclipse对其支持已经是很成熟了,很方便.

第三:spring MVC与struts相比,似乎要简单了些,但是,感觉还是有点不太爽,当然也缺少IDE的可视化支持,而struts在eclipse下的可视化看起来 就是好些,虽然不能在上面进行可视化设计,但是也有向导来支持,这也比spring MVC要方便多了.

第四:Ibatis与 hibernate,一个是手动配制,手动编写映射文件和SQL,另一个是全自动化生成,方便性是没法比的.看看ibatis要我们做什么:第一,写映射 文件,第二写SQL文件,第三,写DAO接口,第四,写DAO实现类,第五,写USERBEAN文件等等,很是麻烦,而hibernate,则可以自动生 成,就这些事情,不知道要花掉多少时间.但是,我们也应该看到IBATIS的优点,那就是灵活性高,效率也比hibernate高,其效率和使用JDBC 差不多了.但是,我认为,作为一般的项目,用这么多时间换取这一点效率很不划算,因为这影响的这一点效率根本就不值一提,也就是说,在项目运行时,不会因 为这一点效率而影响到项目进行,得到的这一点性能的提升,完全就是浪费了,但是,在开发时,却增加开发者那么多负担,很不划算.

说了这么 多,似乎VSSI与SSH没有可比性了.这样说对吗?不,不对,不能这么说,要看是什么条件下.上面的比较都是在一般的项目上来比较的,而一般的项目,在 性能上,使用SSH就足够了,VSSI带来的性能提升相对来说,是那么的缈小.但是,如果是那种性能要求极高的项目,这点性能的提升不可小看,像阿里巴巴 和淘宝的项目,就拿淘宝来说吧,这个访问量可不是一般的小啊,对于这样的项目,用开发时间或者说开发高投入换取这点性能提升是很划算的.但是作为一般的项 目,这点回报,我看是不划算的.

我现在正在计划开发一个RSS订阅加BLOG的系统.没错,就是这样一个系统.但是,之间的关系可紧密了.嘿嘿.直到今天,我一直计划用VSSI来 开发,但是,到我发这个文章时,我已经决定改SSH来开发了.希望能够尽快开发完成.同时也希望有想法的朋友加入进来,一起完成完善这个系统.

velocity+spring mvc+spring ioc+ibatis初试感觉(与struts+spring+hibernate比较)的更多相关文章

  1. springboot注册到consul中报错:Spring MVC found on classpath, which is incompatible with Spring Cloud

    今天在做springboot整合成springCloud并注册到consul中时,发现若注册到consule中成功 则不能启动swagger,且不能提供任何API服务,要是能提供API服务则不能注册到 ...

  2. spring、spring mvc以及IOC的阅读

    spring vs spring-mvc spring是应用级框架 spring mvc只是一个mvc框架 spring现在包含很多子模块,我们用的最多的是依赖注入. spring模块可分为以下: C ...

  3. spring mvc集成velocity使用

    目前流行的三大页面视图神器是:老牌大哥jsp.后起之秀freemarker和velocity.这里不详细比较这三者的优劣,总体来说,jsp是标配,但后面两个更严格的执行了视图与业务的分离,页面里是不允 ...

  4. Spring MVC工作原理及源码解析(一) MVC原理介绍、与IOC容器整合原理

    MVC原理介绍 Spring MVC原理图 上图是Spring MVC工作原理图(图片来自网上搜索),根据上图,我们可以得知Spring MVC的工作流程如下: 1.用户(客户端,即浏览器)发送请求至 ...

  5. spring mvc+myBatis配置详解

    一.spring mvc Spring框架(框架即:编程注解+xml配置的方式)MVC是Spring框架的一大特征,Spring框架有三大特征(IOC(依赖注入),AOP(面向切面),MVC(建模M- ...

  6. Spring MVC教程——检视阅读

    Spring MVC教程--检视阅读 参考 Spring MVC教程--一点--蓝本 Spring MVC教程--c语言中午网--3.0版本太老了 Spring MVC教程--易百--4.0版本不是通 ...

  7. spring + spring mvc + tomcat 面试题(史上最全)

    文章很长,而且持续更新,建议收藏起来,慢慢读! 高并发 发烧友社群:疯狂创客圈(总入口) 奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : 极致经典 + 社群大片好评 < Java 高并发 三 ...

  8. Spring MVC 学习笔记(整理)

    SpringMVC学习 1.概述 Spring MVC是一种基于Java实现MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行解耦,基于请求-响应模型帮助我们 ...

  9. 朱晔和你聊Spring系列S1E4:灵活但不算好用的Spring MVC

    阅读PDF版本 本文会以一些例子来展现Spring MVC的常见功能和一些扩展点,然后我们来讨论一下Spring MVC好用不好用. 使用SpringBoot快速开始 基于之前的parent模块,我们 ...

随机推荐

  1. ajax传递的参数服务器端接受不到的原因

    最常见的就是组织的json数据格式有问题,尝试把单引号改为双引号试试,如下: $datares = {"uname":$uname.val(),"phone": ...

  2. 【LOJ】#2062. 「HAOI2016」地图

    题解 我对莫队真是一无所知 这个东西显然可以用圆方树转成一个dfs序列 然后呢,用莫队计算每个询问区间的每个数出现的次数,从而顺带计算每个数字的奇偶性 但是我们要查的数字也用一个范围,可以直接用分块维 ...

  3. ThinPHP3.2中 addAll()批量插入数据

    thinkphp中model类的addAll()方法可以将数据同时添加到数据库中. 1 2 3 4 5 6 // 批量添加数据 (only MySQL) $user = M('user'); //ar ...

  4. h5行情k线开发

    前言         由于公司项目需要,要做港股行情的H5版本,经过分析需求,大致有两块难点: 一是行情的推送接收,二是行情K线的生成及相关操作.本文章主要分析行情K线的相关实现,由于我们前端团队之前 ...

  5. 这套完美的Java环境安装教程,完整,详细,清晰可观,让你一目了然,简单易懂。⊙﹏⊙

    JDK下载与安装教程 2017年06月18日 22:53:16 Danishlyy1995 阅读数:349980  版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...

  6. PHP7.x新特性

    1.太空船操作符太空船操作符用于比较两个表达式. 当$a小于. 等于或大于$b时它分别返回-1. 0或1. // Integers echo 1 <=> 1; // 0 echo 1 &l ...

  7. 【枚举】AtCoder Regular Contest 095 C - Symmetric Grid

    题意:给你一个H*W的字符矩阵,一次操作可以任意将两行或者两列交换.问你是否能通过任意多次操作,使得其变为对称矩阵.对称的含义是:对于任何格子A(i,j),其都等于A(H-i+1,W-j+1). 显然 ...

  8. TortoiseGit + msysgit 记住帐号密码方法及使用密匙的方法

    Windows 重度用户只能用 for windows 的软件了,所以虽然使用 Git,但还是要找专门的 windows 版本. 最近开始使用 GitHub 来托管一些小项目/兴趣,而自己是重度 wi ...

  9. 20162327WJH实验四——图的实现与应用

    20162327WJH实验四--图的实现与应用 实 验 报 告 课程:程序设计与数据结构 班级: 1623 姓名: 王旌含 学号:20162327 成绩: 指导教师:娄嘉鹏 王志强 实验日期:11月2 ...

  10. Apache2.4使用require指令进行访问控制--允许或限制IP访问/通过User-Agent禁止不友好网络爬虫

    从Apache2.2.X到Apache2.4.X,在配置上稍微有点不同,需要特别注意.现在记录下关于访问控制的配置. 经过苦苦搜索,终于配置成功.参考了这篇文章:http://www.cnblogs. ...