后端开发必须知道的Spring框架基础模块大全

简介: 后端开发必须知道的Spring框架基础模块大全

引言

在初步学习使用Spring进行开发时,得益于其优秀的设计,我们往往直接@AutoWired就可以直接把想要的组件拿进来直接使用。但是面对庞大的Spring框架,我们仍然有必要搞清楚它到底能给我们提供哪些能力,才能做到有的放矢。

9fa36a3d90246925d7cd3ec05d49ea3a.png


本文的结构如下:

30ce5ffde3a406dae0b2eab71d2ddac1.png


一、Spring Core

CoreBeans 模块是框架的基础部分,提供IOC和依赖注入特性。 这里的基础 概念是 BeanFactory,它提供对 Factory 模式的经典实 现来消除对程序’性单例模式的需要,并真正地允许你从程序逻辑中分离出依赖关系和配置。


1.1 Core

主要包含 Spring 框架基本的核心工具类, Spring 的其他组件都要用到这个包 里的类,Core模块是其他组件的基本核心。


1.2 Beans(BeanFactory的作用)

它包含访问配直文件、创建和管理 bean 以及进行 Inversion of Control I Dependency Injection ( IOC/DI )操作相关的所有类。


1.3 Context(ApplicationContext的作用)

模构建于 Core 和 Beans 模块基础之上,提供了一种类似JNDI 注册器的框 架式的对象访问方法。 Context 模块继承了 Beans 的特性,为 Spring 核 心提供了大量 扩展,添加了对国际化(例如资源绑定)、事件传播、资源加载和对 Context 的透明创 建的支持。 Context 模块同时也支持 J2EE 的一些特 性, ApplicationContext 接口是 Context 模块的关键。


本质区别:使用BeanFacotry的bean是延时加载的,ApplicationContext是非延时加载的


1.4 Expression Language

模块提供了强大的表达式语言,用于在运行时查询和操纵对象。 它是 JSP 2.1 规范中定义的 unifed expression language 的扩展。 该语言支持设直/获取属 性的值,属性的分配,方法的调用,访问数组上下文( accessiong the context of arrays )、 容器和索引器、逻辑和算术运算符、命名变量以及从Spring的 IoC 容器中根据名称检索对象。


二、Spring Data Access/Integration

2.1 JDBC

模块提供了一个 JDBC 抽象层,它可以消除冗长的 JDBC 编码和解析数据库厂 商特有的错误代码。

这个模块包含了 Spring 对 JDBC 数据访问进行封装的所有类


2.2 ORM 模块为流行的对象-关系映射 API,

如 JPA、 JDO、 Hibernate、 iBatis 等,提供了 一个交互层。利用 ORM 封装包,可以混合使用所有Spring提供的特性进行 O/R 映射, 如前边提到的简单声 明性事务管理。


2.3 OXM 模块提供了一个对 ObjecνXML 映射实现的抽象层,

Object/XML 映射实现包括 JAXB、 Castor、 XMLBeans、 JiBX 和 XStrearn.


2.4 JMS ( Java Messaging Service )

模块主要包含了 一些制造和消费消息的特性。像我们在高并发系统中常用的消息队列架构模式,实现生产者和消费者的解耦。


2.5 Transaction

支持编程和声明性的事务管理,这些事务类必须实现特定的接口,并 且对所有的 POJO 都适用


三、 Spring Web

Web 模块:提供了基础的面向 Web 的集成特性c 例如,多文件上传、使用 servlet listeners 初始化

IoC 容器以及一个面向 Web 的应用上下文。 它还包含 Spring 远程支持中 Web 的相关部分。


四、 Spring Aop

4.1 Aspects

该模块提供了对 AspectJ 的集成支持。


4.2 Instrumentation

该模块提供了 class instrumentation 支持和 classloader 实现,使得可以在特

定的应用服务器上使用


五、Test

Test 模块支持使用 JUnit 和 TestNG 对 Spring 组件进行测试


六、 Spring 容器继承图:

7d8c451364d5851ef0942eae2fd6b6d8.png

相关文章
|
9月前
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
8221 120
|
10月前
|
安全 Java Ruby
我尝试了所有后端框架 — — 这就是为什么只有 Spring Boot 幸存下来
作者回顾后端开发历程,指出多数框架在生产环境中难堪重负。相比之下,Spring Boot凭借内置安全、稳定扩展、完善生态和企业级支持,成为构建高可用系统的首选,真正经受住了时间与规模的考验。
707 2
|
11月前
|
XML JSON Java
Spring框架中常见注解的使用规则与最佳实践
本文介绍了Spring框架中常见注解的使用规则与最佳实践,重点对比了URL参数与表单参数的区别,并详细说明了@RequestParam、@PathVariable、@RequestBody等注解的应用场景。同时通过表格和案例分析,帮助开发者正确选择参数绑定方式,避免常见误区,提升代码的可读性与安全性。
|
11月前
|
前端开发 Java API
利用 Spring WebFlux 技术打造高效非阻塞 API 的完整开发方案与实践技巧
本文介绍了如何使用Spring WebFlux构建高效、可扩展的非阻塞API,涵盖响应式编程核心概念、技术方案设计及具体实现示例,适用于高并发场景下的API开发。
744 0
|
9月前
|
安全 前端开发 Java
《深入理解Spring》:现代Java开发的核心框架
Spring自2003年诞生以来,已成为Java企业级开发的基石,凭借IoC、AOP、声明式编程等核心特性,极大简化了开发复杂度。本系列将深入解析Spring框架核心原理及Spring Boot、Cloud、Security等生态组件,助力开发者构建高效、可扩展的应用体系。(238字)
|
9月前
|
消息中间件 缓存 Java
Spring框架优化:提高Java应用的性能与适应性
以上方法均旨在综合考虑Java Spring 应该程序设计原则, 数据库交互, 编码实践和系统架构布局等多角度因素, 旨在达到高效稳定运转目标同时也易于未来扩展.
791 8
|
10月前
|
监控 Kubernetes Cloud Native
Spring Batch 批处理框架技术详解与实践指南
本文档全面介绍 Spring Batch 批处理框架的核心架构、关键组件和实际应用场景。作为 Spring 生态系统中专门处理大规模数据批处理的框架,Spring Batch 为企业级批处理作业提供了可靠的解决方案。本文将深入探讨其作业流程、组件模型、错误处理机制、性能优化策略以及与现代云原生环境的集成方式,帮助开发者构建高效、稳定的批处理系统。
883 1
|
10月前
|
安全 数据可视化 Java
AiPy开发的 Spring 漏洞检测神器,未授权访问无所遁形
针对Spring站点未授权访问问题,现有工具难以检测如Swagger、Actuator等组件漏洞,且缺乏修复建议。全新AI工具基于Aipy开发,具备图形界面,支持一键扫描常见Spring组件,自动识别未授权访问风险,按漏洞类型标注并提供修复方案,扫描结果可视化展示,支持导出报告,大幅提升渗透测试与漏洞定位效率。
|
11月前
|
Cloud Native Java API
Java Spring框架技术栈选和最新版本及发展史详解(截至2025年8月)-优雅草卓伊凡
Java Spring框架技术栈选和最新版本及发展史详解(截至2025年8月)-优雅草卓伊凡
1750 0
|
前端开发 Java 数据库连接
Spring模块与应用场景
Spring框架是一个Java平台,它为Java应用程序提供全面的基础框架支持。它也是现在非常流行的开源框架,只要是做Java开发,肯定接触过Spring的使用,不管我们对它的了解如何,多或者少,我们还是要尽力挖掘出Spring的功能价值。
719 1
Spring模块与应用场景

热门文章

最新文章