论SSH框架 —— 一个狮子座程序员的大言不惭!

论SSH框架 —— 一个狮子座程序员的大言不惭!

SSH和Leopard深入对比

  记得很多很多年前,在Java Web开发的世界里,SSH(Struts、Spring、Hibernate、)这个框架是很火的?火到什么程度呢?在当时你如果说不懂SSH,你都不好意思说你是搞Java Web发的。现在回想起来,这个框架实在是太过扯蛋!而且扯得蛋很疼!导致至今仍有很多很多Java Web开发者前扑后继的去学习这个架构!

  我是一个写了很多年程序的老程序员,我对这个现象感到很痛心!仅仅是因为我们的程序员同学都太过依赖旧的技术,不愿与时俱进!

  下面我们来分析SSH为什么会这么流行?又怎么样来改变这个现状?

  Struts是MVC模式web框架公认的标准,在Spring还没有出来的时候。Struts已经很流行了,大大小小的web项目都使用struts进行开发,这为后来的SSH框架垫定了稳固的江山。

  后来,Spring出来了,他宣传的是依懒注入和控制反转,把主要精力放到了如何在模块之间解耦上去了。很多框架师也确实认同Rod Johnson,纷纷也将Spring引入到了项目中去。而Hibernate在持久化上也确实做到了很成功,因此桃园结义就此拉开!SSH一个强大的框架,就此诞生!Struts 负责MVC,Spring负责解耦,Hibernate负责数据持久化,分工明确!各自在自己的地旁上呼风唤雨!

  SSH这个框架,看似很好?但我却认为很复杂。为什么一个人能干好的活,非要交给三个人干呢?这里也许是包含各种历史原因,也许是因为太多的程序员的惰性思维。不管怎么样,我认为程序员应该创新,应该与时具进!

  直到有一天,我看到了一个很牛逼的网站http://leopard.io/。作者开发了一个叫作Leopard的框架。这个框架基于Spring开发,在Spring MVC、Spring JDBC上做了深入的封装,将困扰众多WEB开发者的问题,一一化解!

  我深入研究了这个框架,并对SSH和Leopard进行了一个深入的对比:

  SSH,我就用一句话来描述:使用了各框架之所长!

  Leopard,我想深入列举一下:

WEB MVC功能

  1、使用Spring MVC框架,在原有功能上封装了多个数据视图。比如有返回Json数据的视图、返回文本数据的视图、返回分页数据的视图、返回ftl数据的视图等等。
  2、实现自定义关键参数(参见我的博客http://wsppkdc.iteye.com/)。

  3、对int、boolean、long型对象为空值时进行了转换。

  4、实现智能登录验证扫描。

  5、内置自定义拦截器,可实现自定义功能。

  6、实现分布式session,开放自如。

  7、实现自定义登录验证组件,开放验证接口支持自定义实现登录验证及登录界面。

  8、实现防并发组件,可以在指定时间限制接口访问次数。

  9、实现验证码组件,可支持多组验证码分组验证。

  10、实现方法耗时监控、数据源(MySQL、Redis、Memcached等)请求统计。

  11、实现CSRF、XSS安全漏洞防范。

  以上web功能,开箱即用。不想用的时候,关闭即可。

持久化功能

  1、封装Spring JDBC实现,Hibernate号称的方便牵移,我想已经毫无用武之地了。因为Leopard不仅仅在实现上做了工作,还在设计上给了建议。建议所有数据库操作均使用单表操作(如果你认为做不到,可以直接找作者帮忙,而且还是免费的,这使我对作者肃然起敬!!!)。

  2、封装了Redis缓存实现,Hibernate的缓存,又被打趴了。

  3、对JDBC、Redis配置连接池,仅仅一行标签搞定!

解耦功能

  1、依然采用Spring的解耦功能。

其他组件

  1、实现了Jetty热部署。这个是相当牛擦的,启动web应用。只要运行一个JettyTest类即可。而且支持热部署,改完代码不需要重启。

  2、智能配置mvc resources,为了提高静态文件的访问速度。Leopard会自动将静态文件转换为Spring 的Resource,请求时不需要再进入Controller。

  3、自定义标签,简化XML编写。

  4、内置Tson数据结构简化Model构造,使单元测试编写变得相当简单。

  5、开放可扩展接口。

  6、制定开发规范,简化项目交结。

  7、智能化日志配置。

  8、….

  太多太多的新玩艺了,还是自己上http://leopard.io/上去看吧。作者已经将源码、示例代码全部开源出来了。我认为此框架值得学习,也许它将带来另一个春天!

时间: 2024-08-13 03:52:57

论SSH框架 —— 一个狮子座程序员的大言不惭!的相关文章

一个java程序员的真实经历

半路出家的老java程序员的一点感悟 我是一个老java程序员,现在基本告别编码时代了,当然我现在还在写代码,不是为了老板写了,是自己在创业.回想起这么多年的人生路,作为一名老程序员感慨颇多,尤其是作为一名半路出家的程序员,其中的滋味更是感慨万分.下面我就自己说说我的经历,也许会给未来码农一点启发. 首先讲讲我是怎么成为一个程序员的,这个还真要说说中国的教育.我们国家的这种应试教育一直受到很多人的诟病,有的指责扼杀了学生的创造力,有的指责培养出来的学生就像火腿厂生产的香肠,都是一个味毫无特点而言

当世界上只剩下一个Java程序员

公元2050年,世界上只剩下了一个Java程序员. 你可能要问了,别的人都去哪儿了?原因很简单, Java没落了. 大约在2030年左右,出现了一个叫做X的语言,它既能做系统级开发(操作系统.数据库.编译器),也能做服务器端的开发,手机端,Web端都不在话下. 更为重要的是,这个新的编程语言和人类的自然语言很接近,无论大人小孩,稍微一学,很快就可以来编程.于是排名前100的语言统统消失了, 程序员们都失业了. Java也不例外,这个昔日的霸主在留下了一堆庞大而复杂的系统以后就不见了. Java程

一个平庸程序员自白:我不牛逼但那又怎样?

转自:http://www.managershare.com/post/189966 不是谁都能飚高音,但他们也有自己的声音. Jacob Kaplan-Moss是著名 Python 框架 Django 的 Co-Creater 和核心开发者,在 Heroku 担任安全部门的 Director, 他常年参加 Python 社区的年度聚会 PyCon ,并经常上台演讲.在这次 PyCon 2015 上,他声称自己顶多只是一个平庸的程序员,幻灯片上也写着: “Hi, I’m Jacob, and I

Coding girl一个老程序员谈到的一个女程序员的故事

因为有人说我给一个女程序员的建议不靠谱,我不服,因为我的工作经历中的一些女程序员都很不错,比那些男程序员都强,所以,我在新浪微博和twitter上征集女程序员的故事和想法,这两天来,我收到了好几封邮件,让我很感动.其中,有一个故事让我回味很久,在脑海里挥之不去,可能是因为她的经历和我很相似,她的想法和我很有共鸣. 本来,我想通过收到的这些故事然后编辑成一篇关于女程序员的文章,但是我觉得这个故事已经足够好了,任何的编辑都是对这个故事的不尊重,所以,我原封不动,一字不改地把这个故事转到这里.我把一些

一个java程序员自学IOS开发之路(四)

根据上图,由于我是一个Java程序员,前面两个阶段还是学的比较快的,但是由于电脑配置不行,光是开启虚拟机登陆OS系统就卡的不要不要的了,在那里面写代码简直是煎熬= =,后面的UI学习又要启动ios模拟器,根本无法进行. 于是下定决心,入手一台Macbook pro,告别我用了四年的联想~今天本本到货啦,哈哈^_^,可以愉快的继续了 2015/10/14 Day 15 为了便于开发者打造各式各样的优秀app,UIKit框架提供了非常多功能强大又易用的UI控件 2015/10/16 Day 16 第

一个JAVA程序员成长之路分享

我搞JAVA也有些日子了, 因为我比较贪玩,上进心不那么强, 总是逼不得已为了高薪跳槽才去学习, 所以也没混成什么大牛, 但好在现在也已经成家立业, 小日子过的还算滋润, 起码顶得住一月近万元的吃喝拉撒玩各种贷款信用卡 不为金钱过于发愁了. 我特别感谢当初贴吧遇见的那位大神, 虽然每个月也就聊那么几句, 但是他总能在我不知道该学啥, 该怎么走的时候, 给我方向, 毫不夸张的说,我现在的衣食无忧, 技术马马虎虎, 都是拜他所赐. 所以 我也想分享一些自己的成长过程 以及技术路线 希望一些迷茫的新人

一个平庸程序员的自白(转)

转自豆瓣http://www.douban.com/note/502532701/ Jacob Kaplan-Moss 是著名 Python 框架 Django 的 Co-Creater 和核心开发者,在 Heroku 担任安全部门的 Director, 他常年参加 Python 社区的年度聚会 PyCon ,并经常上台演讲.在这次 PyCon 2015 上,他声称自己顶多只是一个平庸的程序员,幻灯片上也写着: "Hi, I'm Jacob, and I'm a mediocre program

一个老师程序员说:这是学Java 必知必会的 20 种常用类库和 API

一个有经验的Java开发人员特征之一就是善于使用已有的轮子来造车.<Effective Java>的作者Joshua Bloch曾经说过:"建议使用现有的API来开发,而不是重复造轮子".在本文中,我将分享一些Java开发人员应该熟悉的最有用的和必要的库和API.顺便说一句,这里不包括框架,如Spring和Hibernate因为他们非常有名,都有特定的功能.最后,如果大家如果在自学遇到困难,想找一个java的学习环境,可以加入我们的java学习圈,点击我加入吧,会节约很多时

作为一个女程序员,有感而发

下午,在CSDN看到了一篇女程序员的迷茫的贴子,突然有感而发,写下了自己的一些感想,以及为什么我突然会来考教师资格证的奇怪想法(奇怪的想法,这是很多朋友对我的评价). 我是一个女程序员,目前是一个公司的技术架构师,写着项目核的代码,同时管理着一个不大不小的开发团队,今年一开年,大大小小6-7个新项目转到我手上,加上原有的项目维护,就能初步估计这一年又没什么假期了,还必须照顾着下面一群小伙子的心态.做项目,的确很累,特别是对于女性同胞们来讲.但是生活就是这么回事,为了不让IT狂潮把自己给淹没了,必