首页 > 编程笔记

Spring框架简介

回顾这几年的 Java Web开发经历,最初使用 Servlet 与 JSP 技术进行开发,后来使用 SSH 架构进行开发,再后来使用 Spring MVC 架构进行开发,如今使用流行的 Spring Boot 架构进行开发。

在 Java Web 开发领域,Spring 的发展速度大大超出预期,已经成为每个 Java 编程人员必须掌握的框架。Spring 框架以其灵活、简易、快速等特性迅速抢占了 Java 企业级开发的市场,成为世界上最流行的企业级开发架构。

Spring 发展到今天,已经不仅仅指 Spring Framework,而且还代表 Spring 的整个家族。Spring 可以为 Java 企业级开发提供强有力的支持,其庞大而活跃的社区及持续开源的代码贡献,为各大公司的应用服务提供了基础支撑。

Spring 的发展历史

世界上有两种天才,一种是专注于本专业并做出突出贡献的人,另一种是不但在本专业中有所建树,而且在专业之外还有非常高的造诣。例如,爱因斯坦属于前者,而达·芬奇则属于后者。在 Java领 域也有这么一位天才,他就是悉尼大学的音乐学博士,而且他还是 Spring Framework 的创始人,他的名字叫 Rod Johnson。

2002 年 Rod Johnson 编写了 Expert one-on-one J2EE Development without EJB 一书,书中批评了 J2EE 架构的臃肿和低效,甚至提出,绝大多数的 J2EE 工程根本不需要 EJB。 这在当时引起了轩然大波。为了支持自己的理论,他编写了超过 30000 行的基础结构代码,代码中的根包命名为 com.interface21,当时人们称这套开源框架为 interface21,这就是 Spring 框架的前身。

从官网的描述中可以看到,Spring 并不是 J2EE 的竞争对手,而是 J2EE 规范的补充及基于规范的实现。

Spring 的版本发布历史如下:

在本文的编写过程中,Spring 5.3.x 通用版已经发布,Spring Boot 也发布了 2.5.0 通用版。

Spring 的特性

Spring 之所以流行并受到广大 Java 编程人员的追捧,究其原因是 Spring 具有以下 5 个关键特性。

1. 灵活

Spring 框架具有灵活、可扩展及集成第三方包的特点,可以方便开发者构建各种应用。它以控制反转(IoC)和依赖注入(DI)为核心提供基础功能。无论是创建一个安全、响应式及基于云平台的微服务,还是创建一个复杂的数据流应用,Spring都有相应的框架。

2. 多产品化

Spring 家族有多个产品:Spring MVC、Spring Boot、Spring Cloud 等:

3. 快速

Spring 框架可以快速启动,快速关闭,快速执行。Spring 5 可以执行异步非阻塞应用,让程序更高效。

Spring Boot 可以让开发者更容易搭建一个Java Web 工程。启动一个 Spring 工程的时间可以达到秒级。

4. 安全

Spring 代码贡献者与专业的安全人员会对 Spring 框架进行测试并修补报告的漏洞,第三方依赖包也会被监控并定期更新,以帮助开发者安全地保存数据。

此外,Spring Security 框架使开发者更容易集成标准的安全方案,并为开发者提供默认的安全解决方案。

5. 可支持的社区

Spring 拥有庞大的、全球化的、积极的开源社区,无论开发者有什么问题,都可以在社区中获得支持。此外,Spring 还提供了各种形式的文档和视频等资料供开发者参考。

优秀文章