spring整体框架+IOC+Bean 学习笔记

1.spring包含了多个功能模块,其中最重要的是spring-core,主要提供ioc依赖注入功能的支持,spring中的其他模块功能都需要依赖该模块。

spring整体框架

最底层:

  1.core:spring框架的核心工具类

  2.bean:提供对bean的创建、配置和管理等功能

  3.context:提供一些core以外的扩展功能,例如,国际化、事件传播、资源加载等

  4.expression:提供对表达式语言SpEL的支持。spel允许你在运行时动态地评估表达式,这对于需要在运行时根据条件或外部输入来决定行为的场景非常有用。

第二层:

  AOP:

  aspects:

  Instrument:

  messaging:为 Spring 框架集成一些基础的报文传送应用。

第三层: 数据访问/集成:

  1.jdbc:不同的数据库有自己独立的api用于操作数据库,而在spring里,只需要和jdbc api交互即可对不同数据库进行操作。

  2.tx:对事务进行操作

  3.orm(object relational mapping):提供对 Hibernate、JPA、iBatis 等 ORM 框架的支持。对象关系映射模式实现程序对象到关系型数据库数据的映射。例如,orm可以将MySQL的一张表映射为一个Java类,表的字段就是这个类的成员变量。

  4.oxm:专门用于支持对象到XML的映射(OXM,Object-to-XML Mapping)。这个模块提供了一个抽象层,使得开发者可以使用多种不同的OXM框架(如JAXB、Castor、XMLBeans、JiBX和XStream)进行XML数据的序列化和反序列化操作。

  5.jms:消息服务。

springweb:

  1.web:对web功能的实现提供一些最基础的支持。

  2.webmvc:

  3.websocket:可以让客户端和服务端进行双向通信

  4.webflux:与传统的基于Servlet的Spring MVC不同,spring-webflux 使用反应式流(Reactive Streams)规范,支持非阻塞I/O操作和背压(backpressure)管理,从而能够更好地利用现代多核CPU和异步网络I/O的优势。

2.spring ioc

ioc是控制反转,它是一种设计思想,就是将对象创建的权力交给spring框架或者ioc容器实现。例如,一个项目中,一个service类可能依赖很多其他的类,如果需要实例化该类时,需要同时实例化他所依赖的类,当销毁该类时,还需要确保它的使用方法都已经销毁。而利用ioc的话,只需要配置好,在需要的地方直接引用即可,具体地实例创建交给ioc容器来实现。这样大大增加了项目的可维护性,降低开发难度。

扩展知识:

1.bean:

  bean是指一个由spring容器管理的对象。这个对象可以是任何一个Java类的实例。bean实例是通过IOC机制来创建和管理的。spring容器可以通过xml配置文件或者注解来创建bean。bean的主要优势是可以将对象的创建和管理与业务逻辑分离,这使得应用程序易于维护。例如,在一个web应用程序中,我们可以将数据库连接的创建和管理交给spring容器,业务逻辑由应用程序本身负责。这样,我们需要切换数据库时,只需要修改spring配置文件即可。

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

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

相关文章

从零到一:如何使用直播美颜SDK开发视频美颜平台

今天,小编将为大家详细讲解如何从零开始,利用直播美颜SDK进行开发视频美颜平台。 一、了解直播美颜SDK 选择合适的SDK是开发视频美颜平台的第一步,市场上有多种SDK可供选择。选择时应考虑SDK的功能、性能、稳定性以及开发者社区的支持。 二…

STM32实现毫秒级时间同步

提起“时间同步”这个概念,大家可能很陌生。一时间搞不清楚是什么意思。 我理解“时间同步”可以解决多个传感器采集数据不同时的问题,让多个传感器同时采集数据。 打个比方。两个人走路,都是100毫秒走一步(频率相同是前提&…

C++中红黑树的实现

目录 1.红黑树的概念 1.1红黑树的规则 ​1.2红黑树如何确保最长路径不超过最短路径的2倍 1.3红黑树的效率 2.红黑树的实现 2.1红黑树的结构 2.2红黑树的插入 2.2.1红黑树插入一个值的大概过程 2.2.2情况1:叔叔节点存在且为红 -- 变色 2.2.3情况2&#x…

若依部署上线遇到的问题

一、若依部署上线的用户头像模块不能回显: 首先是后端修改部署上线后若依存储图片的本地地址 其次将上线前端配置文件中的图片相关配置给删除 二、若依部署上线后验证码不显示问题 在确保前后端请求打通后还有这个问题就是磁盘缓存问题 三、若依部署上线遇到404页…

生成式 AI 与向量搜索如何扩大零售运营:巨大潜力尚待挖掘

在竞争日益激烈的零售领域,行业领导者始终在探索革新客户体验和优化运营的新途径,而生成式 AI 和向量搜索在这方面将大有可为。从个性化营销到高效库存管理,二者在零售领域的诸多应用场景中都展现出变革性潜力,已成为保持行业领先…

【前端】css样式

文章目录 1.常用样式记录 1.常用样式记录 支持文字换行 white-space:pre-wrap;

WPF+Mvvm案例实战(五)- 自定义雷达图实现

文章目录 1、项目准备1、创建文件2、用户控件库 2、功能实现1、用户控件库1、控件样式实现2、数据模型实现 2、应用程序代码实现1.UI层代码实现2、数据后台代码实现3、主界面菜单添加1、后台按钮方法改造:2、按钮添加:3、依赖注入 3、运行效果4、源代码获…

102. UE5 GAS RPG 实现范围技能奥术伤害

在上一篇文章里,我们在技能蓝图里实现了通过技能实现技能指示,再次触发按键后,将通过定时器触发技能效果表现,最多支持11个奥术个体效果的播放。 在这一篇里,我们将实现技能播放时,对目标敌人应用技能伤害。…

C++11新特性相关内容详细梳理

0. 引言 C11简介: 在2003年C标准委员会曾经提交了一份技术勘误表(简称TC1),使得C03这个名字已经取代了C98称为C11之前的最新C标准名称。不过由于C03(TC1)主要是对C98标准中的漏洞进行修复,语言的核心部分则没有改动,因此人们习惯性…

C#实现简单的文件夹对比程序

python版本的文件夹对比程序虽然简单,但可视化效果一般,不太好看。使用C#的Winform项目实现可视化对比文件夹内容,主要功能包括:   1)采用Directory.GetDirectories获取子文件夹集合,Directory.GetFiles获…

C语言[求x的y次方]

C语言——求x的y次方 这段 C 代码的目的是从用户输入获取两个整数 x 和 y ,然后计算 x 的 y 次幂(不过这里有个小错误,实际计算的是 x 的 (y - 1) 次幂,后面会详细说),最后输出结果。 代码如下: #include…

8 个用于创建电商组件的 CSS 和 JS 代码片段

文章目录 前言正文1.自定义办公桌配置工具2.商品展示卡片3.Vue.js 支持的便捷购物体验4.简化的多步结账流程5.移动端优化的商品页面6.动态购物车效果7.React 支持的购物车页面8.尺码指南 总结 前言 优秀的电商网站,必须操作简便、注重细节,才能让用户留…

飞书文档解除复制限制

解除飞书文档没有编辑器权限限制复制功能方法 方法一:使用插件 方法二: 通过调试工具删除所有的copy事件 使用插件 缺点: 只有markdown格式,如果需要其他格式需要再通过Typora等markdown编辑器转pdf,word等格式 安装插件 Cloud Do…

OpenTelemetry 实际应用

介绍 OpenTelemetry“动手”指南适用于想要开始使用 OpenTelemetry 的人。 如果您是 OpenTelemetry 的新手,那么我建议您从OpenTelemetry 启动和运行帖子开始,我在其中详细介绍了 OpenTelemetry。 OpenTelemetry开始改变可观察性格局,它提供…

AAPL: Adding Attributes to Prompt Learning for Vision-Language Models

文章汇总 当前的问题 1.元标记未能捕获分类的关键语义特征 如下图(a)所示, π \pi π在类聚类方面没有显示出很大的差异,这表明元标记 π \pi π未能捕获分类的关键语义特征。我们进行简单的数据增强后,如图(b)所示,效果也是如…

RestHighLevelClient操作es查询文档

目录 利用RestHighLevelClient客户端操作es查询文档 查询match_all dsl语句: ​编辑 java代码 小结 match字段全文检索查询 dsl语句 java代码 multi_match多字段全文检索查询 dsl语句 java代码 term精确查询 dsl语句 java代码 range范围查询 dsl语句 j…

鸿蒙是必经之路

少了大嘴的发布会,老实讲有点让人昏昏入睡。关于技术本身的东西,放在后面。 我想想来加把油~ 鸿蒙发布后褒贬不一,其中很多人不太看好鸿蒙,一方面是开源性、一方面是南向北向的利益问题。 不说技术的领先点,我只扯扯…

破解API加密逆向接口分析,看这篇就够了

破解API加密逆向接口分析,看这篇就够了 每日一练:API接口数据逆向,看完这篇,就能学会找到逆向的入口函数、调试js代码、分析js代码、还原加解密算法!为了能及时获取后续的爬虫及逆向的技术分享文章,请先关注…

qt EventFilter用途详解

一、概述 EventFilter是QObject类的一个事件过滤器,当使用installEventFilter方法为某个对象安装事件过滤器时,该对象的eventFilter函数就会被调用。通过重写eventFilter方法,开发者可以在事件处理过程中进行拦截和处理,实现对事…

代码随想录算法训练营第46期

class Solution { public: // 决定dp[i]的因素就是第i房间偷还是不偷。 // 偷第i房间,那么dp[i] dp[i - 2] nums[i] 即:第i-1房一定是不考虑的,找出 下标i-2(包括i-2)以内的房屋,最多可以偷窃的金额为dp[…