在 5 分钟或更短时间内解释 Spring 框架
已发表: 2022-12-28Spring Framework 是一个功能强大的开源 Java 应用程序开发框架,可以轻松创建健壮的高性能应用程序。
开源是指人们可以自由访问、修改和共享的东西,因为源代码是免费提供的。
开源应用程序框架是由一组软件开发人员创建的用于软件开发的模板。 存在用于不同目的的不同类型的模板,例如创建用户界面、网站和基本软件应用程序。
如果您不熟悉应用程序开发,那么开始使用 Spring Framework 对您来说可能是一个很好的开始。 在本文中,您将了解它是什么以及如何使用它。
什么是弹簧框架?
Spring Framework 是开发人员用来创建企业 Java 应用程序的开源框架。 该框架由 Rod Johnson 创建,并于 2003 年在 Apache 2.0 许可下发布。
一些程序员通常 bash Java 并声称创建基本应用程序很麻烦。 Spring Framework 旨在简化开发企业 Java 应用程序的繁琐和复杂的过程。
春天很宽阔。 因此,建议您在开始使用其他基于 Spring 的项目(例如 Spring Boot、Spring GraphQL 和 Spring Cloud)之前先了解 Spring 框架是什么。
为什么要使用 Spring 框架?
- 灵活。 该框架提供了面向方面编程 (AOP)、依赖注入 (DI) 和普通旧 Java 对象 (POJO) 等技术。 因此,您可以使用 Spring 来实现不同的目标。
- 春天来得快。 尽管拥有所有这些技术,Spring Framework 仍然是轻量级的,使其成为创建可伸缩且健壮的企业 Web 应用程序的理想选择。
- 很棒的社区。 Spring 有一个多元化的社区,您可以相信它会在您需要的时候帮助提供各种解决方案。
- 安全。 Spring 以其安全措施而闻名,漏洞总是通过频繁的补丁修复。 始终监控第三方依赖项,以确保它们的漏洞不会干扰核心流程。
- 富有成效的。 Spring Framework 简化了开发 Java 企业应用程序的体验。
弹簧特性
支持面向方面的编程
面向方面的编程为横切关注点提供了更多的模块化。 AOP 还补充了面向对象的编程。
AOP 中模块化的主要单元是横切关注点(Aspect)。 因此,开发人员可以创建声明式企业服务和自定义方面。
控制反转 (IoC) 容器
IoC 容器提供了一种管理和配置 Java 对象的简化方法。 定义的 Java 对象的生命周期由该容器管理,这显着增加了基于 Spring 的应用程序的可重构性。
控制反转利用依赖查找或依赖注入模式来提供对象引用运行时。 IoC 容器带有配置管理所需的汇编代码。
数据访问框架
数据通信过程得到简化,因为 Spring 直接支持 Hibernate、JDBC 和 Java Persistence API (JPA),这些是 Java 中一些最流行的数据访问框架。 您还可以依靠此框架为所有受支持的数据访问框架提供资源包装、异常处理和资源管理等功能。
Spring MVC 框架
开发人员可以使用这个基于请求的框架来创建满足他们需求的自定义 MVC 实现。
DispatcherServlet 类的任务是处理用户的请求,然后将它们转发给正确的控制器,它位于 Spring MVC 的核心。 因此,控制器可以处理请求、创建模型并通过指定的视图向最终用户提供信息。
有几个测试框架
您可以在通过 Mock 对象、TestContext 框架或 Spring MVC 测试开发基于 Spring 的应用程序时对其进行测试。
语言支持
Spring 框架支持 Groovy 和 Kotlin。
弹簧架构
Spring Framework 带有大约 20 个模块。 这个框架的好处是它允许您选择适用于您的用例的模块。 这些模块分为核心容器、AOP(面向方面的编程)、数据访问/集成、Web、仪器和测试。
#1。 核心容器
Spring Framework 的Core Container 包含Core、Beans、Context 和Expression Language 模型。 这些语言模型在以下方面很有用;
- 核心模块是框架的基础部分。 您会在核心找到 IoC 和依赖注入功能。
- Bean模块以 BeanFactory 着称,它是工厂模式的复杂实现。
- Context模块建立在 Core 和 Bean 模块之上。 该模块继承了 Bean 模块的特性,但增加了对国际化的支持。
- 表达式语言模块提供了一种强大的表达式语言,用于在运行时操作和查询对象图。
#2。 数据访问/集成
JDBC、ORM、OXM、JMS 和事务模块构成了数据访问/集成层。 这些模块执行以下操作;
- JDBC模块有一个 JBDC 抽象层,它消除了进行繁琐的 JDBC 编码以及解析特定于数据库供应商的错误代码的需要。
- ORM是一些流行的对象关系映射 API(例如 JPA、JDO、Hibernate 和 iBatis)的集成层。 '
- OXM模块是一个抽象层,支持 XStream、JAXB、JiBX、Castor 和 XMLBeans 的对象/XML 映射实现。
- Transaction模块支持对实现特殊接口的类的声明式和编程式事务管理。
- Java 消息服务(JMS) 模块具有生成和使用消息的功能。
#3。 AOP(面向切面编程)和检测
该模块自带符合AOP Alliance的面向切面编程实现,可以很容易的定义诸如方法拦截器之类的东西。 另一方面,Instrumentation 模块提供类加载器和类检测支持以用于某些应用程序服务器。
#4。 网络
Web、Web-Servlet、Web-Struts 和 Web-Portlet 模块构成了 Web 层。
- Web模块负责基本的面向 Web 的集成功能,例如多部分文件上传功能。
- Web-Servlet模块具有用于 Web 应用程序的 Spring MVC 实现。
- Web-Portlet模块反映了 Web-Servlet 模块的功能。 Web-Portlet 模块提供了在 portlet 环境中使用的 MVC 实现。
- Web-Socket模块支持Web 应用程序中服务器和客户端之间的双向通信。
#5。 测试
测试模块是 Spring 体系结构的最后一部分。 它是支持使用 TestNG 或 JUnit 测试 Spring 组件的模块。
安装 Spring 框架
检查是否安装了 Java
在了解 Spring Framework 的工作原理之前,我们必须在我们的 PC 上安装 Spring。 Spring 文档提供了有关如何开始使用的大量资源,具体取决于您的操作系统。
对于我们的案例,我们将使用基于 Linux 的操作系统 Ubuntu 20.04.5。
在安装 Spring 之前,请确保您已使用此命令安装了 Java
java -version
如果您安装了 Java,您将得到类似于此屏幕截图的输出。
如果您的 PC 上没有它,可以根据您的需要使用多种方法安装 Java。
安装 Spring 框架
正如 Spring 文档中突出显示的那样,有多种安装 Spring 框架的方法。
对于我们的案例,我们将使用 GVM(Groovy 环境管理器)。 您可以使用 GVMtool 获取 GVM 或在命令行上安装它。
有了GVM后,使用以下命令安装,检查是否安装了Spring框架
gvm install springboot
spring --version
如果安装了 Spring,您可能会得到如下所示的输出
与 Spring 框架相关的重要术语
依赖注入
依赖注入是一种允许开发人员在类之外创建独立对象的功能。 DI 还允许用户以不同的方式将这些对象提供给类。
控制反转 (IoC)
IoC 是将部分程序或对象的控制权转移到框架或容器的概念。 在传统编程中,我们的自定义代码调用库。 另一方面,IoC 允许框架(在本例中为 Spring)调用我们的自定义代码并控制程序的流程。
面向方面编程 (AOP)
AOP 是一种用于构建可应用于整个应用程序的通用且可重用例程的技术。 这种方法将可重复的任务(如输入验证、日志记录和错误处理)与核心应用程序逻辑分开。
Spring 框架学习资源
#1。 使用 Spring Framework 5 进行响应式编程
这个春季课程由视频、文章和可下载资源组成。 该课程教授使用 Java 进行函数式编程、如何使用 Spring WebFlux 进行微服务以及如何在 Spring Data MongoDB 中利用 Reactive 类型。
#2。 Spring框架大师班
Spring Framework Master Class是付费课程,教授Java项目使用Spring Framework的真实方式。 您将学习如何使用各种工具,例如 Spring Boot、JUnit 和 Mockito、Spring JDBC、Spring AOP 和 Hibernate。
#3。 简单步骤中的 Spring 框架
如果您想使用 Spring Framework 创建端到端 Java EE Web 应用程序,那么 Spring Framework In Easy Steps 是一门理想的高级课程。 您将学习的一些内容包括如何使用 Spring MVC 开发 Web 应用程序、如何使用 JQuery 和 Spring MVC 进行 Ajax 调用以及如何使用 Spring JDBC 执行数据库操作,等等。
#4。 弹簧框架 5
如果您想学习 Spring Framework 5、Spring Data MongoDB、Spring Boot 2、Spring MVC、Spring Data JPA 和 Hibernate,Spring Framework 5 课程是您的理想之选。 您可以利用 57 小时的点播视频、13 篇文章和大量可下载资料。
作者的话
Java 仍然是现代世界中最流行的编程语言之一。 尽管正在引入新的语言,但诸如 Spring 之类的框架为 Java 带来了新的活力并扩展了它的用途。 因此,我们可能会继续对 Java 工程师有需求,因为他们需要维护遗留代码并创建新的应用程序。
结论
Spring 在 Java EE 框架中排名靠前,我们希望您现在了解什么是 Spring Framework,了解它的特性、架构和工作过程。 当与其他 Spring 项目相结合时,Spring Framework 为开发人员提供了可跨不同开发环境使用的各种开发工具。