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,或者扫描下方二维码,关注公众号,即可获取最新文章。

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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

业务连续性:确保稳健运营的关键战略

在今天的快节奏商业环境中,保障业务连续性是企业成功的重要保障。业务连续性不仅仅是关于应对自然灾害或技术故障,更是一项战略,涉及组织的整体准备、规划和应对能力,以确保在各种情况下业务的稳健运营。 一、业务连续性的定义 业…

matplotlib绘图

介绍 在官网上有更多种类的图型的绘制方法 matpoltlib中文官方文档:例子_Matplotlib 中文网 matpoltlib英文官方文档:Examples — Matplotlib 3.8.1 documentation 分类 一、折线图 1、要实现的功能: 2、实例: # 导入包 from…

每天学习一点点之从 SonarQube Bug 看对线程中断异常的处理

最近在基于 SonarQube 对代码进行质量优化,说实话,之前觉得 SonarQube 这种很无聊,但最近静下心来看了一些扫描出来的问题后,发现这种工具作用还是挺大的,能够帮助我们找到代码中的隐藏缺陷,从而夯实基础。…

三菱FX3U系列—小项目

目录 一、项目描述 二、IO口分配 三、运动功能图 四、项目程序 五、总结 一、项目描述 有些工作台,在工作台身上安装4个行程开关SQ1~SQ4,其中,SQ1、SQ2用来自动换向,当工作台运动到换向位置时,挡铁撞击行程开关&a…

网络超时检测-11.9

应用场景 在网络通信中,很多操作会使得进程阻塞: TCP套接字中的recv/acceptUDP套接字中的recvfrom超时检测的必要性 避免进程在没有数据时无限制地阻塞实现某些特定协议要求,比如某些设备规定,发送请求数据后,如果多长…

阿里云99元VS腾讯云88元,双11云服务器价格战,谁胜谁负?

在2023年的双十一优惠活动中,阿里云推出了一系列令人惊喜的优惠活动,其中包括99元一年的超值云服务器。本文将带您了解这些优惠活动的具体内容,以及与竞争对手腾讯云的价格对比,助您轻松选择最适合的云服务器。 99元一年服务器优…

23000 个恶意流量代理的 IPStorm 僵尸网络被拆除

美国司法部今天宣布,联邦调查局取缔了名为 IPStorm 的僵尸网络代理服务的网络和基础设施。 IPStorm 使网络犯罪分子能够通过世界各地的 Windows、Linux、Mac 和 Android 设备匿名运行恶意流量。 与此案相关的俄罗斯裔摩尔多瓦籍公民谢尔盖马基宁 (Sergei Makinin)…

儿童水杯上架亚马逊美国站CPC认证办理 ,常见儿童产品CPC认证测试要求

美国CPSC从2021/03/22开始改革,凡是他们管辖范围内的产品,都会被标记审查,如有相关产品请提前准备好相关文件比如CPC检测报告、认证等等,以备目的港海关审查。 CPC认证介绍 CPC证书即儿童产品证书,适用于12岁以下的儿…

【ArcGIS Pro二次开发】(76):面积平差工具

之前做过一个【三调土地利用现状分类面积汇总】的工具,在流程中使用了面积平差的方法。 考虑了在其它场合可能也需要进行面积平差,因此单独提取出来作为一个工具。 平差实现的方法如下图: 主要的计算过程如上图所示,算出总面积差…

DM8数据守护集群安装部署_手动切换

一.安装前准备 1.1 硬件环境建议 数据守护集群安装部署前需要额外注意网络环境和磁盘 IO 配置情况,其他环境配置项建议请参考安装前准备工作。 1.1.1 网络环境 心跳网络对 mal 通讯系统的影响非常大,如果网络丢包或者延迟较大,则会严重影…

前后端分离项目为什么很火?有什么优势?

目录 一、什么是前后端分离 二、前后端分离项目的技术栈 三、前后端分离项目有什么优势 一、什么是前后端分离 前后端分离是一种软件架构的设计模式,它将应用程序的前端(即用户界面)和后端(即服务器端)进行解耦,使得它们可以独…

pipeline + node +jenkins+kubernetes部署yarn前端项目

1、编写Dockerfile文件 # Set the base image FROM node:16.10.0# WORKDIR /usr/src/app/ WORKDIR /home/option# Copy files COPY ./ /home/option/# Build arguments LABEL branch${BRANCH} LABEL commit${COMMIT} LABEL date${BUILD_DATE} ARG ENV# Set ENV variables ENV …