Spring Framework 核心容器详解:Core、Beans、Context 和 Expression Language 模块

Spring可能成为您的所有企业应用程序的一站式商店。但是,Spring是模块化的,允许您挑选适用于您的模块,而无需引入其他模块。下面的部分提供了Spring Framework中所有可用模块的详细信息。

Spring Framework提供了大约20个模块,可以根据应用程序要求使用。

核心容器

核心容器由Core、Beans、Context和Expression Language模块组成,其详细信息如下:

  • Core模块提供了框架的基本部分,包括IoC和依赖注入功能。
  • Bean模块提供了BeanFactory,它是工厂模式的复杂实现。
  • Context模块建立在Core和Beans模块提供的坚实基础之上,它是访问定义和配置的任何对象的媒介。ApplicationContext接口是Context模块的焦点。
  • SpEL模块为在运行时查询和操作对象图提供了强大的表达式语言。

数据访问/集成

数据访问/集成层由JDBC、ORM、OXM、JMS和Transaction模块组成,其详细信息如下:

  • JDBC模块提供了一个JDBC抽象层,消除了繁琐的JDBC相关编码。
  • ORM模块为流行的对象关系映射API(包括JPA、JDO、Hibernate和iBatis)提供了集成层。
  • OXM模块提供了一个支持JAXB、Castor、XMLBeans、JiBX和XStream的Object/XML映射实现的抽象层。
  • Java消息服务JMS模块包含用于生成和消费消息的特性。
  • Transaction模块支持实现特殊接口的类和所有POJO的编程和声明性事务管理。

Web

Web层由Web、Web-MVC、Web-Socket和Web-Portlet模块组成,其详细信息如下:

  • Web模块提供基本的面向Web的集成功能,如多部分文件上传功能以及使用servlet监听器和面向Web的应用程序上下文初始化IoC容器。
  • Web-MVC模块包含Spring用于Web应用程序的Model-View-Controller(MVC)实现。
  • Web-Socket模块提供了在Web应用程序中客户端和服务器之间进行基于WebSocket的双向通信的支持。
  • Web-Portlet模块提供了用于在Portlet环境中使用的MVC实现,并反映了Web-Servlet模块的功能。

其他

还有其他一些重要的模块,如AOP、Aspects、Instrumentation、Web和Test模块,其详细信息如下:

  • AOP模块提供了一种面向方面的编程实现,允许您定义方法拦截器和切入点,以清晰地解耦实现应该分离的功能的代码。
  • Aspects模块提供了与AspectJ的集成,这又是一个强大而成熟的AOP框架。
  • Instrumentation模块提供了类仪器支持和类装入器实现,可用于某些应用程序服务器。
  • Messaging模块提供了支持STOMP作为用于应用程序的WebSocket子协议的功能。它还支持一种注释编程模型,用于从WebSocket客户端路由和处理STOMP消息。
  • Test模块支持使用JUnit或TestNG框架测试Spring组件。

最后

为了方便其他设备和平台的小伙伴观看往期文章:公众号搜索Let us Coding,或者扫描下方二维码,关注公众号,即可获取最新文章。

看完如果觉得有帮助,欢迎点赞、收藏关注

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/149550.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

本地顺风车小程序源码系统 源码开源可二次开发 出行无忧:一键预约顺风车 带完整搭建教程

共享经济和互联网技术的发展。随着人们出行需求的不断增加,顺风车作为一种绿色、共享的出行方式,越来越受到广大用户的青睐。为了满足这种需求,本地顺风车小程序应运而生,为用户提供了一种方便、快捷、可靠的顺风车出行服务。 以…

栈和队列:队列

目录 队列概念: 队列: 先进先出: 与栈的区别: 队列的实现: 关于节点指针的封装: 初始化: 入队: 出队: 获取队头元素和获取队尾元素: 判断队列是…

如何以编程方式获取Android手机的电话号码?

在创建Android应用程序时,很多时候我们需要通过手机号码进行身份验证。为了增强用户体验,我们可以在移动系统中自动检测手机号码。因此,让我们开始一个android项目吧!我们将创建一个按钮,单击它时将获得一个手机号码并将其显示在 TextView 中。 分步实施 步骤 1:创建新项…

程序员突如其来的生日惊喜

不得不说,今天就是我的生日。也就是吹个蜡烛吃个蛋糕,但是我非常惊讶,我的博客在今天突然飙涨! Top1 我自己看的时候都懵了,就是存了一下自己的程序,然后这个阅读,是真的出乎我的意料。我完全没…

掌握接口自动化测试,看这篇文章就够了,真滴简单

前言: 接口测试在我们测试工作当中,经常会遇到,对于接口自动化操作,也越来越多的公司进行实践起来了,市面上有很多工具可以做接口自动化比如:Postman、JMeter、SoapUI等。这一篇安静主要介绍通过代码的形式…

CCF CSP认证历年题目自练Day46

兄弟们记得去官网报名CSP认证。 题目 试题编号: 201709-3 试题名称: JSON查询 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述   JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式&#xff…

“大数据分析师”来了,提高职业含金量,欢迎来领

大数据分析师是指在不同行业中,专门从事相关数据的收集、整理、分析,并依据数据通过科学算法模型进行行业研究、评估和预测等工作的专项人才。应用行业涉及互联网信息技术企业、科研院校、金融行业、制造业、物流、生物医疗、农业等大数据相关行业。 常…

IDEA如何打断点调试

目录 1. 设置断点2. 调试3. 调试的基本操作3.1 step over3.2 step into 跟 Force step into3.3 step out3.4 resume program3.5 mute breakpoints3.6 view breakpoints3.6 条件断点 编写代码的时候,有时候我们需要跟踪代码的运行情况,使用断点调试就是一…

基于Vue+SpringBoot的农村物流配送系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统登录、注册界面2.2 系统功能2.2.1 快递信息管理:2.2.2 位置信息管理:2.2.3 配送人员分配:2.2.4 路线规划:2.2.5 个人中心:2.2.6 退换快递处理:…

【Machine Learning in R - Next Generation • mlr3】

本篇主要介绍mlr3包的基本使用。 一个简单的机器学习流程在mlr3中可被分解为以下几个部分: 创建任务 比如回归、分裂、生存分析、降维、密度任务等等挑选学习器(算法/模型) 比如随机森林、决策树、SVM、KNN等等训练和预测 创建任务 本次示…

创信短信API的无代码开发集成:电商平台、CRM和用户运营

无代码开发:集简云与创信短信API的连接 创信短信API的无代码开发集成,旨在为电商平台、CRM和用户运营提供便利。作为一款超级软件连接器,集简云可以在无需开发,无需代码知识的情况下,轻松连接创信短信与近千款软件系统…

软文营销如何正确蹭热点?媒介盒子为您解答

软文营销过程中为什么需要借助热点营销?热点营销的三大优势就是“传播速度快、爆发效果猛、有效时间短”,追热点的最终目的就是为了给产品或品牌带来关注度。 虽然蹭热点很重要,但是也有许多品牌在营销过程中因为没搞清楚状况就翻车&#xf…

Qt 5.15.11 源码windows编译

1.下载qt5.15.11源码 https://download.qt.io/official_releases/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.zip 2.解码源码到桌面 3.安装cmake ,python ,perl, Visual Studio 2019 Strawberry Perl for Windows Win flex-bison download | SourceForge…

如何在Windows 10中进行屏幕截图

本文介绍如何在Windows 10中捕获屏幕截图,包括使用键盘组合、使用Snipping Tool、Snipp&Sketch Tool或Windows游戏栏。 使用打印屏幕在Windows 10中捕获屏幕截图 在Windows 10中捕获屏幕截图的最简单方法是按下键盘上的PrtScWindows键盘组合。你将看到屏幕短暂…

ETL数据转换工具类型与适用场景

ETL数据转换工具在企业数据管理中扮演着重要的角色,能够帮助企业从多个数据源中提取、转换和加载数据,实现数据整合和分析。以下是针对Kettle、DataX和ETLCloud这几个工具的详细介绍及其适用场景。 Kettle(Pentaho Data Integration&#xf…

正则表达式入门教程

一、本文目标 让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。 二、如何使用本教程 文本格式约定:专业术语 元字符/语法格式 正则表达式 正则表达式中的一部分(用于分析) 对其进行匹配的源字符串 …

C# 使用Microsoft.Office.Interop.Excel库操作Excel

1.在NuGet管理包中搜索:Microsoft.Office.Interop.Excel,如下图红色标记处所示,进行安装 2. 安装完成后,在程序中引入命名空间如下所示: using Microsoft.Office.Interop.Excel; //第一步 添加excel第三方库 usi…

JTS: 24 MinimumDiameter 最小矩形

文章目录 版本代码 版本 org.locationtech.jts:jts-core:1.19.0 链接: github 代码 package pers.stu.algorithm;import org.locationtech.jts.algorithm.MinimumDiameter; import org.locationtech.jts.geom.Coordinate; import org.locationtech.jts.geom.Geometry; import…

口袋参谋:新品增销量,是如何做到无痕迹、不降权的?

​经常听到这样的抱怨:“我补销量的速度,还没别人新品卖的快?一个新链接第二天就上了1w销量?到底是咋做到的?” 其实像新品上来直接就卖爆的情况,在电商行业中也不算什么新鲜事,但是对于很多新手…

SOLIDWORKS 2024新功能之Visualize篇

SOLIDWORKS 2024新功能Visualize 增强了创建引人注目的外观的功能 SOLIDWORKS Visualize 使用 Dassault Systmes 的企业 PBR 着色模型 (DSPBR) 来准确复制金属、玻璃、塑料和其他曲面的逼真外观。 DSPBR 是材料模型,用于基于物理的渲染,受 3DEXPERIENCE…