面试题-Spring家族与SpringIOC

news2024/12/23 6:25:11

1.spring家族的介绍

在这里插入图片描述
Spring简单图:
在这里插入图片描述

2.IOC原理

在这里插入图片描述
IOC就是原先代码里需要开发者实现对象的创建和关系依赖,反转交给SpringIOC容器管理对象的生命周期和对象之间的依赖关系。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
依赖注入的方式:
Setter:实现特定属性的public setter方法来让IOC容器调用所依赖类型的对象
Interface:实现特定的接口,以供IOC容器注入所依赖的对象
Constructor:基于构造函数,实现特定的构造函数,在创建对象时,让IOC注入所依赖类型的对象。
Annotation:通过java的注解机制来让IOC容器注入所依赖类型的对象。例如:Spring框架里的autowired
在这里插入图片描述
**Ioc容器的优势:**容器管理着bean的生命周期,负责bean的依赖注入。
1.避免在各处使用new来创建类,并且可以做到统一维护。
2.在创建实例的时候不需要了解其中的细节。
在这里插入图片描述
在这里插入图片描述
大大提高了项目的可维护性,降低了开发难度。

3.SpringIOC的应用

读取Bean的配置信息,并在Spring容器中生成Bean的定义注册表;
根据注册表去实例化Bean;
将Bean实例放到Spring容器中。装配好Bean之间的依赖关系,为上层提供准备就绪的上层环境;Spring提供一个配置文件,描述Bean以及Bean之间的依赖关系,利用java语言的反射功能,实例化Bean,并建立Bean之间的依赖关系。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
常用容器:BeanFactory.
BeanFactory是Spring框架的基础设施,是IOC容器的基础接口。所有容器都从它这里继承实现而来。为了能够明确描述各个对象之间的依赖关系,提供了三种管理方式。在XML中进行显示配置;在java中进行显示配置,注解方式。

在这里插入图片描述
Spring容器在启动的时候,会将xml或者注解里的bean的定义解析成spring内部的beanDefinition。
在这里插入图片描述
registerBeanDefinition方法实现。存储在beanDefinitionMap.还将Bean的name存储到beanDefinitionNames里。以便后续Bean的实例化。
在这里插入图片描述
在这里插入图片描述

在SpringIOC中,默认的情况下,bean都是以单例模式下的。
ApplicationContext是高级容器。面向使用Spring框架的开发者,除了能够提供IOC容器的基本功能外,还能为用户提供附加服务。

在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

资源监视器 查看写入磁盘的文件

"Win R" 组合键来打开运行对话框,然后输入 "resmon" 并按下回车键,或者在开始菜单中搜索 "资源监视器" 并打开它。 可以查看时哪个服务在往盘里写日志或者文件

pytest-rerunfailures:优化测试稳定性的失败重试工具

笔者在执行自动化测试用例时,会发现有时候用例失败并非代码问题,而是由于服务正在发版,导致请求失败,从而降低了自动化用例的稳定性,最后还要花时间定位到底是自身case的原因还是业务逻辑问题,还是其他原因…

vue单独部署到宝塔教程

配置反向代理 注意:如果目标网站是https则写https否则写http 2.关于解决部署后无法刷新,直接报错404 location / { try_files $uri $uri/ /index.html; }

记某大学智慧云平台存在弱口令爆破水平越权信息泄露Wx_SessionKey篡改 任意用户登录漏洞

扫码获取网安教程 0x1 前言 本篇文章是记录最近给一所大学做渗透测试时该学校存在的漏洞(目前已经修复)。我是先找该学校的微信小程序的资产,因为各位佬们也知道,微信小程序相对于web应用服务端来讲维护较少,所有漏洞…

【JavaWeb程序设计】Web基础-JavaScript

目录 一、函数与事件的使用 1. 编写一个html页面,使用Javascript完成数字的平方计算。 1.1 运行截图 1.2 JS代码 1.3 HTML代码 2. 要求文本框中只能输入字母 2.1 运行截图 2.2 下载jquery-3.4.1并引用 2.3 JS代码 2.4 HTML代码 3. 在文本框分别输入两个…

使用 mongo2neo4j 和 SemSpect 通过各种方式进行图探索

用于可视化和探索每个 MEAN 堆栈背后的数据图的 ETL 您是否正在努力回答有关 MEANS Web 服务数据的紧急问题?哪里有 BI 可以快速回答“上个季度哪些亚洲的artisan.plus 用户触发了订单?”这个问题,而无需编写查询?使用 mongo2neo4…

通过 Parallels Desktop 虚拟机安装运行 macOS 15 Sequoia

在 Apple 的 WWDC 24 大会上,macOS Sequoia 15 成为全场热议的焦点。 作为科技爱好者和开发者,我们都迫不及待想要体验这些最新功能。但如果直接把整个 Mac 升级到测试版,可能不太现实,特别是当你需要保持主系统稳定的时候。 幸…

速刷edurank(1)

python安全开发 python安全开发 python安全开发前言一、平台edu二、使用步骤1.引入库2.功能**完整代码**完整代码 总结 前言 目的:想快速的搜集edu的域名 一、平台edu https://src.sjtu.edu.cn/rank/firm/0/?page2 二、使用步骤 1.引入库 代码如下&#xff08…

序列化Serializable

一、传输对象的方式 将对象从内存传输到磁盘进行保存,或者进行网络传输,有两种方式: 实现Serializable接口,直接传输对象转成json字符串后,进行字符串传输 二、直接传输对象 implements Serializable Data Equal…

50岁单身女人的中等生活标准是什么?

对女人来说,50岁正是更年期,可以说是已经进入老龄行列,情绪难免不稳定。面对社会上对中老年人的看法,心中难免会有些失落。那么50岁以后的女人,一般希望拥有一个什么样的生活呢? 首先是财务独立&#xff0c…

Day44:LeedCode 188.买卖股票的最佳时机IV 309.最佳买卖股票时机含冷冻期 714.买卖股票的最佳时机含手续费

188. 买卖股票的最佳时机 IV 给你一个整数数组 prices 和一个整数 k ,其中 prices[i] 是某支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。也就是说,你最多可以买 k 次,卖 k 次。 注意&…

【数据分享】2002-2020年全球逐日地表土壤水分栅格数据(免费获取)

土壤水分是陆地水循环中的重要状态变量,在陆-气相互作用研究、区域水文过程及水资源管理等研究领域具有重要作用,该数据被广泛应用于各项研究。 本次我们分享的是2002-2020年全球范围的36km分辨率逐日地表土壤水分栅格数据!数据来源于国家青…

c++习题05-斐波那契数列

目录 一,问题 二,思路 三,代码 一,问题 二,思路 根据题目,可以自己列出斐波那契数列(前四个)如下: 通过列出来的值,可以发现,前两个都是1&…

信创-系统架构师认证

随着国家对信息技术自主创新的战略重视程度不断提升,信创产业迎来前所未有的发展机遇。未来几年内,信创产业将呈现市场规模扩大、技术创新加速、产业链完善和国产化替代加速的趋势。信创人才培养对于推动产业发展具有重要意义。应加强高校教育、建立人才…

功能测试常用的测试方法

在软件测试过程中,功能测试是最基础、最核心,也是最主要的,那么功能测试中常用的测试方法你了解吗? 第一、什么是功能测试 功能测试(Functional Testing),又称黑盒测试(Black-box Te…

中国软件评测中心最新报告:文心大模型技术、产品、应用全面领跑

近日,工业和信息化部直属国家一级科研事业单位中国软件评测中心发布《人工智能大语言模型技术发展研究报告(2024年)》,总结梳理大语言模型技术能力进展和应用情况,肯定国产大模型的发展成果,为产业界选用大…

ingress-nginx控制器证书不会自动更新问题

好久没更新了,正好今天遇到了一个很有意思的问题,在这里给大家分享下,同时也做下记录。 背景 最近想做个实验,当k8s集群中secret更新后,ingress-nginx控制器会不会自动加载新的证书。我用通义千问搜了下,…

对SRS媒体服务器进行漏洞扫描时,SRS的API模块会出现漏洞,如何修补这些漏洞的简单方法

目录 一、引言 1、srs介绍 2、媒体流介绍 3、应用场景 二、SRS的http_api介绍、及漏洞 1、概述 2、http_api模块的作用 (1)提供HTTP API服务 (2)管理和监控SRS服务器 (3)自定义开发 三、漏洞扫描…

Java语言+后端+前端Vue,ElementUI 数字化产科管理平台 产科电子病历系统源码

Java语言后端前端Vue,ElementUI 数字化产科管理平台 产科电子病历系统源码 Java开发的数字化产科管理系统,已在多家医院实施,支持直接部署。系统涵盖孕产全程,包括门诊、住院、统计和移动服务,整合高危管理、智能提醒、档案追踪等…

【T+】畅捷通T+产品,将原财务报表中的模板转换到财务报表菜单下。

【问题描述】 畅捷通T3产品中账套使用行业性质是【新会计准测制度】升级到畅捷通T产品, 行业性质默认为【2001年企业会计制度】, 但是升级成功后,账套的财务报表下没有对应报表模板,需要手工编辑,太费劲了。 并且在T产…