购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.1 初识框架

学习框架知识之前,首先要了解框架的概念和框架的优势。本节将从框架概述、框架的优势及当前主流框架这几个方面对框架相关知识进行讲解。

1.1.1 框架概述

“框架”(Framework)一词最早出现在建筑领域,是指建造房屋前期所构建的建筑骨架。在编程领域,框架就是应用程序的“骨架”,开发人员可以在这个“骨架”上加入自己的东西,搭建出符合自己需求的应用系统。

软件框架是一种通用的、可复用的软件环境,它提供特定的功能,助力软件应用、产品和解决方案的开发工作。软件框架包含支撑程序、编译器、代码、库、工具集和API,它把这些部件汇集在一起,以支持项目或系统的开发。

软件框架可以形象地比喻成人们在盖楼房时,用梁+柱子+承重墙搭建起来的钢筋混凝土结构的建筑框架,它是整个建筑的骨架。而实现的软件功能,也就像在这个建筑框架中所要实现的不同类型、功能的房子,如健身房、商场、酒店、饭店等。

可想而知,一个好的建筑框架是非常重要的,其不仅能够在资源上节约成本,而且能够在资源有限的条件下使建筑的质量达到最优,并能够提高空间利用率,发挥资源的最大功效。

总体来说,建筑框架的目的就是制定规矩、保障品质、节约成本,使工作人员能够以较低的代价完成高质量的工作,软件框架也是如此。

1.1.2 框架的优势

在早期JavaEE应用的开发中,企业开发人员是利用JSP+Servlet技术进行软件应用和系统开发的,但使用JSP+Servlet技术进行JavaEE应用的开发有以下两个弊端。

(1)软件应用和系统可维护性差

如果全部采用JSP+Servlet技术进行软件开发,因为分层不够清晰,业务逻辑的实现无法单独分离出来,所以系统后期维护非常困难。

(2)代码重用性低

企业希望以最快的速度开发出最稳定、最实用的软件。如果系统不使用框架,每次开发系统都需要重新开发和投入大量的人力、物力,并且重新开发的代码可能具有更多的漏洞,这就增加了系统出错的风险。

针对上述两个弊端,开发人员开发出了许多框架。相比于使用 JSP+Servlet 技术进行软件开发,使用框架有以下优势。

(1)提高开发效率

如果采用成熟、稳健的框架,那么一些通用的基础工作,如事务处理、安全性、数据流控制等都可以交给框架处理,程序员只需要集中精力完成系统的业务逻辑设计即可,从而降低了开发难度。

(2)提高代码规范性和可维护性

当多人协同进行开发时,代码的规范性和可维护性就变得非常重要。成熟的框架都有严格的代码规范,能保证团队整体的开发风格统一。

(3)提高软件性能

使用框架进行软件开发,可以减少程序中的冗余代码。例如,使用Spring框架开发时,通过Spring的控制反转(Inversion of Control,IoC)特性,可以将对象之间的依赖关系交给Spring控制,从而方便解耦,简化开发;使用MyBatis框架开发时,MyBatis提供了XML标签,支持动态的SQL,开发人员无须在类中编写大量的SQL语句,只需要在配置文件中进行配置即可。

1.1.3 当前主流框架

在Java EE开发中离不开框架,使用框架可以减少代码冗余,提高程序运行速度,规范编程且便于代码维护。下面介绍几种当前Java EE开发中常见的框架。

1. Spring框架

Spring是一个开源框架,是为了解决企业应用程序开发复杂这一难题而创建的,其主要优势之一就是分层架构。同时,Spring之所以与Struts、Hibernate等单层框架不同,是因为Spring致力于提供一个以统一的、高效的方式构造整个应用,并且可以将单层框架组合在一起建立一个连贯的体系。Spring提供了更完善的开发环境,可以为POJO(Plain Ordinary Java Object,普通Java对象)提供企业级的服务。

2. Spring MVC框架

Spring MVC是Spring提供的一个基于MVC设计模式的Web开发框架,是Spring家族中应用于Web应用的一个模块,可以将它理解为Servlet。在MVC模式中,Spring MVC作为控制器(Controller)用于实现模型与视图的数据交互,是结构非常清晰的JSP Model2实现,即典型的MVC框架。

Spring MVC框架采用松耦合、可插拔的组件结构,具有出色的可配置性,与其他的MVC框架相比,Spring MVC具有更强的扩展性和灵活性。此外,Spring MVC本身就是Spring家族的一部分,可以与Spring框架无缝集成,因此,Spring MVC在互联网开发中应用得越来越广泛。

3. MyBatis框架

MyBatis原本是Apache的一个开源项目iBatis,2010年这个项目由Apache Software Foundation迁移到了Google Code,并改名为MyBatis,2013年11月MyBatis又被迁移到GitHub。MyBatis是一个优秀的持久层框架,它可以在实体类和SQL语句之间建立映射关系,是一种半自动化的ORM(Object Relational Mapping,对象关系映射)实现。MyBatis封装性要低于Hibernate,但它性能优越、简单易学,在互联网应用的开发中被广泛使用。

4. Spring Boot框架

Spring Boot框架是Pivotal团队基于Spring开发的全新框架,其设计初衷是为了简化Spring的配置,使用户能够构建独立运行的程序,提高开发效率。Spring Boot框架本身并不提供Spring框架的核心特性及扩展功能,它只是用于快速、敏捷地开发新一代基于 Spring 框架的应用,同时它还集成了大量的第三方类库(如Jackson、JDBC、Redis等),使用户只需少量配置就能完成相应功能。

5. Spring CIoud框架

Spring Cloud 是一系列框架的有序集合,为开发人员构建微服务架构提供了完整的解决方案,它利用Spring Boot的开发便利性巧妙地简化了分布式系统的开发。例如,配置管理、服务发现、控制总线等操作,都可以使用Spring Boot做到一键启动和部署。可以说,Spring Cloud将Spring Boot框架进行了再封装,屏蔽掉了复杂的配置和实现原理,具有简单易懂、易部署和易维护等特点。 iHkKQdnbc26Dfs2ACz64KJ/1Ku9wUmL9mOyPfO3bqrhEQd3VLm+LCaIxQQ4Tb4AO

点击中间区域
呼出菜单
上一章
目录
下一章
×