Spring5第一篇:Spring的出现以及Spring的本质

目录

本文须知

Spring介绍

Spring的出现

EJB介绍及其缺陷

什么是Spring

Spring与设计模式的整合

Spring的本质


本文须知

        本文内容来自于B站孙帅suns的spring课程视频,由本人根据视频学习整理而成。然而,由于个人理解和整理的差异,可能存在部分地方的误差或讲解不够明确的情况。

        为了获得更详细的课程内容和准确的解释,请您移步至B站,搜索孙帅suns获取详细课程视频内容,以便深入了解和学习。孙帅suns的视频将为您提供更全面、详细的知识和解释,帮助您更好地理解netty应用的相关内容。

        在阅读本文时,请注意本文的目的是为了提供一个概述和个人整理的观点,而不是取代原始视频课程的内容。如有任何疑问或不明之处,建议您参考原始视频课程以获取更准确的信息。

        感谢您的理解和支持!

        在此附上B站对应课程视频链接:学不会Spring?因为你没有找对人

Spring介绍

Spring的出现

        在2002年,Rod Johnson撰写了一本名为《J2EE设计和开发》的书,概括了当时Java企业应用程序开发的现状并指出了JavaEE规范当中EJB框架的缺陷,并在书中基于普通Java类和设计模式推出了更简单的解决方案(interface21),同年进一步拓展了其代码,最终衍生成了一个轻量级J2EE开发解决方案--Spring

EJB介绍及其缺陷

        EJB 是 Java EE(Java Platform, Enterprise Edition)中的一项关键技术,它代表 "Enterprise JavaBeans",是用于构建分布式、企业级应用程序的组件模型。EJB 提供了一种标准化的方式来创建、管理和部署分布式应用程序的组件。

        当时EJB存在的问题(随着技术的发展,EJB3已经有所改善):

  1. 复杂性:配置和使用复杂,增加了学习曲线。
  2. 性能问题:在性能方面可能不如预期,尤其是在状态管理中。
  3. 重量级:EJB被认为是重量级的,开发部署和维护管理复杂。
  4. 不够灵活:在某些方面不够灵活,开发人员受到一定限制。
  5. 部署复杂性:部署EJB应用程序通常需要使用应用服务器,增加了部署和管理的复杂性。

什么是Spring

        Spring是一个轻量级JavaEE解决方案,整合了众多优秀的设计模式。

轻量级

  • 依赖注入(DI):Spring 管理组件之间的依赖关系,降低了组件之间的耦合,使代码更灵活、可维护。
  • 无侵入性:Spring 不要求特定的继承或接口实现,可以轻松集成到现有应用程序中,不需大规模改动。
  • 简化配置:提供了基于注解和自动化配置,减少了繁琐的XML配置,提高开发效率。
  • 轻量级容器:Spring 容器占用较少内存,启动更快,相较于传统Java EE容器更轻量。

为什么Spring被称为JavaEE的解决方案?

  • Spring 包括众多模块,如:依赖注入、AOP、事务管理等。为开发人员提供了构建复杂应用程序所需的工具和库。
  • Spring 通过依赖注入和面向接口编程降低组件间的依赖关系。使得应用程序更易维护、测试。
  • Spring 允许开发人员选择性地使用其模块。这种模块化的设计使得 Spring 非常灵活,适用于各种规模和类型的应用程序。
  • Spring 不需要开发人员继承特定的基类或实现特定的接口,可以轻松集成到现有的应用程序中,而不需要大规模的代码更改。
  • Spring 生态系统丰富多样,包括 Spring Boot、Spring Data、Spring Security、Spring Cloud 等项目,可以满足从微服务到大型企业级应用。

Spring与设计模式的整合

        上述介绍了Spring整合了众多优秀的设计模式,比如:工厂、代理、模板、策略......

        因此设计模式是Spring当中非常重要的核心。这里关于设计模式的学习可以观看我的设计模式专栏。

Spring的本质

        Spring的本质就是工厂。

        只不过这个工厂不需要我们再来自己进行创建了,它已经帮我们创建好了,Spring的这个工厂就叫ApplicationContext。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ikwil

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值