第一章Spring的简介

1、Spring框架的由来

J2EE作为一种企业级应用开发平台,其优秀表现人所共知。然而,即使拥有强大的军队,若缺乏出色的指挥将,也无法发挥出其强大的战斗力,从而取得辉煌的战果。

在J2EE平台的早期实践中,出现了对J2EE平台提供的各项服务的滥用,导致基于J2EE平台的企业级开发陷入困境。

Spring框架于2003年兴起,是一个轻量级的Java开发框架,源于Rod Johnson在他的著作《Expert One-On-One J2EE Development and Design》中阐述的理念和原型。最初,它的主要目的是简化Java EE的企业级应用开发。相对于过去EJB时代繁重的企业应用开发,Spring框架的出现为曾经阴霾的天空带来了灿烂的阳光。


2、Spring之崛起

Spring之崛起的原因有很多。这个轻量级Java框架之所以迅速崭露头角,与其提供的诸多优势和创新理念密不可分。
简化企业级开发:Spring框架的出现简化了Java企业级开发。相比于繁重的EJB开发,Spring提供了更为清晰、灵活的解决方案。
依赖注入(DI)与面向切面编程(AOP):Spring引入了依赖注入和面向切面编程的思想,使得代码更易于维护、测试和扩展。
模块化设计:Spring框架采用模块化设计,为开发人员提供了轻松集成各种技术栈的可能,如数据库访问、事务管理、Web开发等。
松耦合:Spring框架的松耦合设计使得不同部分的代码可以相互独立,从而提高了整体的可维护性和可扩展性。
开放式社区:Spring框架建立了开放的社区生态系统,鼓励开发人员共享想法、解决方案和最佳实践,从而形成了强大的支持体系。
创始人的影响:Rod Johnson等创始人的积极推动和专业见解也为Spring的发展提供了坚实基础。
这些因素共同促使Spring以其独特的优势和创新理念在Java企业级开发中迅速崛起,并成为开发人员的首选框架之一。


3、Spring框架概述

从前,在Java的大森林中,有一片神奇的土地,名叫"Spring"。这片土地上生长着各种美丽而强大的植物,它们分别象征着Spring框架中的各种功能和特性。

在这片土地上,有一位智慧而善良的园丁,名叫"Rod Johnson"。Rod是这片土地上的守护者,他有着非凡的见识和智慧。他注意到这片土地原本虽然生机盎然,但由于管理混乱、依赖杂乱等问题而日渐失去活力。于是,他开始策划着一场变革之旅。

Rod明白,为了让这片土地重焕生机,他需要一种全新的方式来管理这里那些繁杂的植物。于是,他提出了"控制反转"的理念,使得每一株植物可以有自己的生长空间,而不再依赖于别的植物。

随后,他又强调"依赖注入"这一概念,让每株植物可以从土地中获取所需的养分,而不用亲自去寻找。这样设计使得这些植物的生长变得更为高效。

Rod还发明了一种神奇的"面向切面编程"技术,一种能够让植物们自由组合、互相辅助的方式,令整片土地都焕发出一种特殊的生机。

渐渐地,这片土地上充满了生机与活力。每一株植物都在互相配合下茁壮成长,形成了一片绚丽而蓬勃的景象。园丁Rod Johnson因其智慧和勇气,被人们誉为这片土地上的英雄。

从那以后,人们便将这片土地上的新秩序称为"Spring",这个充满魔力的名字也因此广为传颂。而这位园丁Rod Johnson,则被尊称为Spring框架的缔造者和守护者。

就这样,Spring框架成为了Java世界中最重要的框架之一,为开发者们带来了许多便利,也为Java企业级应用开发带来了一场新的春天。


4、小结

注意﹐不要只将Spring看作是一个IoC容器,也不要只将Spring与AOP挂钩,Spring提供的远比这些东西要多得多。Spring不仅仅是一个简化Java EE开发的轻量级框架,它更应该是一个简化任何Java应用的开发框架。如果你愿意,甚至可以在Java的三个平台上(J2SE、J2EE、J2ME )应用Spring框架。即使当前的Spring框架还不支持相应平台或者相应场景的应用开发,但是只要你掌握了Spring的理念和方法,同样可以让新的"Spring"在相应的场景中发挥作用。

相关推荐
小雅痞5 分钟前
[Java][Leetcode simple]26. 删除有序数组中的重复项
java·leetcode
青云交12 分钟前
Java 大视界 -- 基于 Java 的大数据分布式存储在工业互联网海量设备数据长期存储中的应用优化(248)
java·大数据·工业互联网·分布式存储·冷热数据管理·hbase 优化·kudu 应用
纸包鱼最好吃21 分钟前
java基础-package关键字、MVC、import关键字
java·开发语言·mvc
唐山柳林25 分钟前
城市生命线综合管控系统解决方案-守护城市生命线安全
java·安全·servlet
PgSheep28 分钟前
Spring Cloud Gateway 聚合 Swagger 文档:一站式API管理解决方案
java·开发语言
蒂法就是我1 小时前
详细说说Spring的IOC机制
java·后端·spring
程序员拂雨1 小时前
Java知识框架
java·开发语言
秋野酱2 小时前
基于javaweb的SpringBoot高校图书馆座位预约系统设计与实现(源码+文档+部署讲解)
java·spring boot·后端
举一个梨子zz2 小时前
Java—— 可变参数、集合工具类、集合嵌套、不可变集合
java·开发语言·intellij-idea·需求分析
算法给的安全感2 小时前
bfs-最小步数问题
java·算法·宽度优先