SSM轻量级框架应用实战
上QQ阅读APP看书,第一时间看更新

任务1 初识框架技术

1.1.1 强大的框架技术

如何制作一份看上去具有专业水准的PPT文档呢?一个最简单的方法就是使用Microsoft PowerPoint的模板功能,如图1.1所示。

图1.1 使用PPT模板

使用模板新建出来的文档已经有了一个PPT的“架子”,我们只需要把必要的信息像填空一样填写进去就可以了,如图1.2所示。

图1.2 使用PPT模板创建的新文档

思考:使用PPT模板制作PPT文档有哪些好处?

使用PPT模板制作PPT文档的优点如下。

(1)不用考虑布局、排版等问题,提高了效率。

(2)可以专心于PPT的内容,使演讲的“质量”更有保障。

(3)新手也可以制作出很专业的幻灯片演讲稿。

使用框架构建项目也是基于这样的考虑。当确定使用哪个框架技术后,就已经有了一个“半成品”,然后在这个半成品里填上内容,工作就完成了。框架技术的优势如下。

(1)不用再考虑公共问题,框架已经帮我们做好了。

(2)可以专心于业务逻辑,保证核心业务逻辑的开发质量。

(3)结构统一,便于学习和维护。

(4)框架中集成了前人的经验,可以帮助新手写出稳定、性能优良而且结构优美的高质量程序。

1.1.2 什么是框架

框架(Framework)是一个提供了可重用的公共结构的半成品。它为我们构建新的应用程序提供了极大的便利,不但提供了可以拿来就用的工具,更重要的是,还提供了可重用的设计。“框架”一词最早出现在建筑领域,指的是在建造房屋前期构建的建筑骨架(见图1.3)。对应用程序来说,“框架”就是应用程序的骨架,开发者可以在这个骨架上加入自己的东西,搭建出符合自己需求的应用系统。框架中凝结着前人的经验和智慧,使用框架,我们就像站在了巨人的肩膀上。

图1.3 建筑“框架”

Richard Oberg(WebWork的作者和JBoss的创始人之一)说过:“框架的强大之处不是它能让你做什么,而是它不能让你做什么。”Richard还强调了框架另一个层面的含义:框架使混乱的东西变得结构化。莎士比亚说:“一千个人眼中有一千个哈姆雷特。”同样,如果没有框架的话,一千个人将写出一千种Servlet+JavaBean+JSP的代码,而框架则保证了程序结构风格的统一。从企业的角度来说,框架降低了培训成本和软件的维护成本。框架在结构统一和创造力之间维持着一个合适的平衡。

1.1.3 当前的主流框架

1.Struts 2框架

Struts 2以WebWork优秀的设计思想为核心,吸收了Struts框架的部分优点,提供了一个更加整洁的基于MVC设计模式实现的Web应用程序框架。它引入了几个新的框架特性:从逻辑中分离出横切关注点的拦截器,减少或者消除配置文件,贯穿整个框架的强大表达式语言,支持可变更和可重用的基于MVC模式的标签API等。Struts 2充分利用了从其他MVC框架学到的经验和教训,使整个框架更加清晰、灵活。

2.Hibernate框架

Hibernate是一个优秀的持久化框架,负责简化将对象数据保存到数据库中,或从数据库中读取数据并封装到对象的工作。Hibernate通过简单配置和编码即可替代JDBC烦琐的程序代码。Hibernate已经成为当前主流的数据库持久化框架,被广泛应用在实际工作中。

3.Spring框架

Spring也是一个开源框架。它的目标是使现有的Java EE技术更容易使用和养成良好的编程习惯。它是一个轻量级的框架,渗透了Java EE技术的方方面面。它主要作为依赖注入容器和AOP实现存在,还提供了声明式事务、对DAO层的支持等简化开发的功能。Spring可以很方便地与Spring MVC、Struts 2、MyBatis、Hibernate等框架集成,大名鼎鼎的SSM集成框架指的就是基于SpringMVC + Spring + MyBatis的技术框架,使用这个集成框架将使我们的应用程序更加健壮、稳固、轻巧和优雅,这也是当前最流行的Java技术框架。

4.Spring MVC框架

Spring MVC是Spring框架提供的构建Web应用程序的全功能MVC模块,属于Spring Framework的后续产品,已经融合在Spring Web Flow里面,是结构最清晰的MVC Model 2的实现。它拥有高度的可配置性,支持多种视图技术,还可以进行定制化开发,相当灵活。此外,Spring整合Spring MVC可以说是无缝集成,是一个高性能的架构模式。现在已越来越广泛地应用于互联网应用的开发中。

5.MyBatis框架

MyBatis是一个优秀的数据持久层框架,在实体类和SQL语句之间建立映射关系,是一种半自动化的ORM实现。其封装性要低于Hibernate,性能优越,并且小巧、简单易学,应用也越来越广泛。