框架技术
一、为什么学习框架技术
使用框架构建项目与使用PPT模板制作PPT的原因一样。当确定使用哪个技术框架后,就已经有了一个“半成品”,然后在这个半成品里填上内容,工作就完成了。
框架技术的优势如下:
1)不用再考虑公共问题,框架已经帮我们做好了;
2)可以专心于业务逻辑,保证核心业务逻辑的开发质量;
3)结构统一,便于学习和维护;
4)框架中继承了前人的经验,可以帮助新手写出稳定、性能优良而且结构优美的高质量程序。
二、框架的概念
框架(Framework)是一个提供了可重用的公共结构的半成品,它为我们构建新的应用程序提供了极大的便利。
一方面提供了可以拿来就用的工具,更重要的是,提供了可重用的设计。
对应用程序来说,“框架”就是应用程序的骨架,开发者可以在这个骨架上加上自己的东西,搭建符合自己需求的应用系统。
框架中凝结着前人的经验和智慧,使用框架,我们就站在了巨人的肩上。
Rickard Oberg(WebWork的作者和JBoss的创始人之一)说过,“框架的强大之处不是源自它能让你做什么,而是它不能让你做什么。”Rickard强调了框架另一个层面的含义,框架使混乱的东西变得结构化。
莎士比亚说过,“一千个人眼中有一千个哈姆雷特。”同样,如果没有框架的话,一千个人将写出一千种Servlet+JavaBean+JSP的代码。而框架保证了程序结构风格的统一。从企业的角度来说,降低了培训成本和软件的维护成本。框架在结构统一和创造力之间维持着一个合适的平衡。
三、主流框架的介绍
1. Struts框架
Struts 2以WebWork优秀的设计思想为核心,吸收了Struts框架的部分优点,提供了一个更加整洁的基于MVC设计模式实现的Web应用程序框架。
它引入了几个新的框架特性:
1))从逻辑中分离出横切关注点的拦截器;
2)减少或消除配置文件;
3)贯穿整个框架的强大表达式语言;
4)支持可变更和可重用的基于MVC模式的标签API等。
Struts 2充分利用了从其他MVC框架学到的经验和教训,使整个框架更加清晰、更加灵活。
2. Hibernate框架
Hibernate是一个优秀的持久化框架,负责简化将对象数据保存到数据库中,或从数据库中读取数据并封装到对象的工作。
Hibernate通过简单配置和编码即可替代JDBC繁琐的程序代码。
Hibernate已经成为当前主流的数据库持久化框架,被广泛应用。
3. Spring框架
Spring也是一个开源框架,它的目标是使现有的JavaEE技术更容易使用和促进良好的编程习惯。
它是一个轻量级的框架,渗透了JavaEE技术的方方面面。它主要作为依赖注入容器和AOP实现而存在,还提供了声明式事务、对DAO层的支持等简化开发的功能。
Spring还可以很方便地与SpringMVC、Struts2、MyBatis、Hibernate等框架集成,其中大名鼎鼎的SSM集成框架指的就是基于SpringMVC+Spring+MyBatis的技术框架。
使用这个集成框架将使我们的应用程序更加健壮、稳固、轻巧和优雅,这也是当前最流行的Java技术框架,我们将在后续课程中学习。
4. SpringMVC框架
SpringMVC是Spring框架提供的构建Web应用程序的前功能MVC模块,属于SpringFramework的后续产品,已经融合在Spring Web Flow里面,是结构最清晰的MVC Model2的实现。
并且拥有高度的可配置性,支持多种视图技术,还可以进行定制化开发,相当灵活。
此外,Spring整合SpringMVC可以说是无缝集成,是一个高性能的架构模式,现在越来越广泛应用于互联网应用的开发中。
5. MyBatis框架
MyBatis是一个优秀的数据持久层框架,在实体类和SQL语句之间建立映射关系,是一种半自动化的ORM实现。
其封装性要低于Hibernate,性能优秀,并且小巧、简单易学,现在应用也越来越广泛。