论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/上去看吧。作者已经将源码、示例代码全部开源出来了。我认为此框架值得学习,也许它将带来另一个春天!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值