velocity+spring mvc+spring ioc+ibatis初试感觉(与struts+spring+hibernate比较)
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比较)的更多相关文章
- springboot注册到consul中报错:Spring MVC found on classpath, which is incompatible with Spring Cloud
今天在做springboot整合成springCloud并注册到consul中时,发现若注册到consule中成功 则不能启动swagger,且不能提供任何API服务,要是能提供API服务则不能注册到 ...
- spring、spring mvc以及IOC的阅读
spring vs spring-mvc spring是应用级框架 spring mvc只是一个mvc框架 spring现在包含很多子模块,我们用的最多的是依赖注入. spring模块可分为以下: C ...
- spring mvc集成velocity使用
目前流行的三大页面视图神器是:老牌大哥jsp.后起之秀freemarker和velocity.这里不详细比较这三者的优劣,总体来说,jsp是标配,但后面两个更严格的执行了视图与业务的分离,页面里是不允 ...
- Spring MVC工作原理及源码解析(一) MVC原理介绍、与IOC容器整合原理
MVC原理介绍 Spring MVC原理图 上图是Spring MVC工作原理图(图片来自网上搜索),根据上图,我们可以得知Spring MVC的工作流程如下: 1.用户(客户端,即浏览器)发送请求至 ...
- spring mvc+myBatis配置详解
一.spring mvc Spring框架(框架即:编程注解+xml配置的方式)MVC是Spring框架的一大特征,Spring框架有三大特征(IOC(依赖注入),AOP(面向切面),MVC(建模M- ...
- Spring MVC教程——检视阅读
Spring MVC教程--检视阅读 参考 Spring MVC教程--一点--蓝本 Spring MVC教程--c语言中午网--3.0版本太老了 Spring MVC教程--易百--4.0版本不是通 ...
- spring + spring mvc + tomcat 面试题(史上最全)
文章很长,而且持续更新,建议收藏起来,慢慢读! 高并发 发烧友社群:疯狂创客圈(总入口) 奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : 极致经典 + 社群大片好评 < Java 高并发 三 ...
- Spring MVC 学习笔记(整理)
SpringMVC学习 1.概述 Spring MVC是一种基于Java实现MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行解耦,基于请求-响应模型帮助我们 ...
- 朱晔和你聊Spring系列S1E4:灵活但不算好用的Spring MVC
阅读PDF版本 本文会以一些例子来展现Spring MVC的常见功能和一些扩展点,然后我们来讨论一下Spring MVC好用不好用. 使用SpringBoot快速开始 基于之前的parent模块,我们 ...
随机推荐
- CI中如何保护RESTful API
步骤5 保护RESTful API 为了保护RESTful API,可以在application/config/rest.php中设置安全保护级别,如下所示: $config['rest_auth'] ...
- 【LOJ】#2035. 「SDOI2016」征途
题解 有人管它叫带权二分,有人管它叫dp凸优化,有人管它叫wqs二分-- 延伸出来还有zgl分治,xjp¥!%#!@#¥!# 当我没说 我们拆个式子,很容易发现所求的就是 \(m\sum_{i = 1 ...
- 自定义Counter使用
自定义计数器的使用(记录敏感单词) package counter; import java.net.URI; import org.apache.hadoop.conf.Configuration; ...
- C# 中从网络上下载文件保存到本地文件
下面是C#中常用的从Internet上下载文件保存到本地的一些方法,没有太多的技巧. 1.通过 WebClient 类下载文件 WebClient webClient = new WebClien ...
- QT STUDY 模型-视图-控制器
- 【记录】url 中出现特殊字符该怎么办
url中出现特殊字符+ URL 中+号表示空格 %2B 空格 URL中的空格可以用+号或者编码 %20/ 分隔目录和子目录 %2F ? 分隔实际的URL和参数 %3F % 指定特殊字符 %25 # 表 ...
- volatile 和锁的内存语义
一.volatile 的内存语义 1. volatile 的特性 volatile变量自身具有以下特性: 可见性 :对一个volatile变量的读,总是能看到(任意线程)对这个volatile变量最后 ...
- MDP中值函数的求解
MDP概述 马尔科夫决策过程(Markov Decision Process)是强化学习(reinforcement learning)最基本的模型框架.它对序列化的决策过程做了很多限制.比如状态 ...
- CF582A GCD Table
A. GCD Table time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...
- Bomb HDU 3555 dp状态转移
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3555 题意: 给出一个正整数N,求出1~N中含有数字“49”的数的个数 思路: 采用数位dp的状态转移方程 ...