面试题-Spring家族与SpringIOC

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.mzph.cn/news/864459.shtml

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

相关文章

酱酒特点标准术语

酱酒的独特风味可以通过一系列专业的标准术语进行描绘,这些术语不仅包括了酱酒的香气和口感,还涵盖了对酱酒的深度品鉴知识。以下是酱酒亮哥收集的一些关键的酱酒特性标准术语: 酱香显著:这是酱香型白酒的香气特征,表…

Evented PLEG: iSulad 稳态 CPU 利用率降低30%的关键特性

背景 容器技术在不断发展的过程中,已被广泛应用于多种场景。OpenAtom openEuler(简称"openEuler") 社区容器引擎项目 iSulad[1]面向 CT、IT 领域的不同需求而生,它具有轻量级、高性能的特点,可以在资源受限…

[C++11] noexcept 完整解析

说明:noexcept是C11标准引入的一个关键字,用于指示一个函数是否被保证不会抛出异常。如果但从设计角度看会感觉很奇怪,明明是有问题才抛出异常,那为什么还是在某些时候禁止抛异常呢?接下来我们了解下C11 为什么引入了 …

高性能LDO电路设计,有配套文档

内容: 1、电路文件(有仿真状态)和PDK(TSMC180) 2、配套仿真结果文档讲解6页 3、参考资料三篇 指标: LDO 温度系数1.09ppm LDO 环路增益在 64.3dB,相位裕度在 66,系统稳定。 LDO 最大…

【问题】升级指定conda虚拟环境的python到指定版本

1 背景 当前conda环境的名字为python38,进入环境python38命令如下: conda activate python38 2 升级python到3.10版本 conda install python=3.10 3 查看python版本 conda list -n python38 python

技术派Spring事件监听机制及原理

Spring事件监听机制是Spring框架中的一种重要技术,允许组件之间进行松耦合通信。通过使用事件监听机制,应用程序的各个组件可以在其他组件不直接引用的情况下,相互发送和接受消息。 需求 在技术派中有这样一个需求,当发布文章或…

Linux驱动入门-最简单字符设备驱动

一、字符设备驱动概念 1. 什么是字符设备驱动? 字符设备是 Linux 驱动中最基本的一类设备驱动,按字节流进行读写操作,数据读写有先后顺序。常见的字符设备包括LED灯、按键、IIC、SPI、LCD等。字符设备驱动就是为这些设备编写的驱动程序。 …

ollama,springAi实现自然语言处理

ollama安装使用: https://ollama.com/ 下载速度比较慢的可以直接使用以下版本0.1.41 https://pan.baidu.com/s/1hCCkYvFjWqxvPyYA2-YElA?pwdotap 直接管理员身份双击安装,安装成功后会在任务栏里出现这个小图标: 打开cmd,输入…

java实现图像分割合并

Java实现图片操作:切割、缩放、重置、拼接、合并、水印、画单点、画线段等_java拼接图片并截掉一部分-CSDN博客

WhatsApp:连接世界的即时通讯巨头

在数字化浪潮席卷全球的今天,即时通讯工具已成为人们日常生活中不可或缺的一部分。其中,WhatsApp凭借其卓越的功能、出色的用户体验和广泛的用户基础,在全球通讯领域崭露头角,成为连接世界的即时通讯巨头。今天将带您深入了解What…

tkinter显示图片

tkinter显示图片 效果代码解析打开和显示图像 代码 效果 代码解析 打开和显示图像 def open_image():file_path filedialog.askopenfilename(title"选择图片", filetypes(("PNG文件", "*.png"), ("JPEG文件", "*.jpg;*.jpeg&q…

2024.7.1 刷题总结

2024.7.1 **每日一题** 2065.最大化一张图中的路径价值,本题可以从数据范围得到思路的参考,根据总最大时间和单个最小时间得到最多可以有十条边,即搜索树有11层,每个节点最多有4个儿子,可视为一棵层数至多为11的四叉树…

数据资产赋能企业决策:通过精准的数据分析和洞察,构建高效的数据资产解决方案,为企业提供决策支持,助力企业实现精准营销、风险管理、产品创新等目标,提升企业竞争力

一、引言 在信息化和数字化飞速发展的今天,数据已成为企业最宝贵的资产之一。数据资产不仅包含了企业的基本信息,还蕴含了丰富的市场趋势、消费者行为和潜在商机。如何通过精准的数据分析和洞察,构建高效的数据资产解决方案,为企…

【论文通读】GUI Action Narrator: Where and When Did That Action Take

GUI Action Narrator: Where and When Did That Action Take 前言AbstractMotivationSolutionAct2CapData CollectionMetrics MethodExperimentAblation StudyVisual Prompt SizeSpatial PromptTemporal Prompt Conclusion 前言 一篇GUI操作benchmark的工作,作者提…

tkinter实现进度条

tkinter实现进度条 效果代码解析导入需要的模块定义进度条 代码 效果 代码解析 导入需要的模块 import tkinter as tk from tkinter import ttk定义进度条 def start_progress():progress[value] 0max_value 100step 10for i in range(0, max_value, step):progress[valu…

Win11找不到组策略编辑器(gpedit.msc)解决

由于需要同时连接有线网络和无线网络,且重启后双网络都自动连接,因此需要配置组策略。 但是win11找不到组策略编辑器。 灵感来源:Win11找不到组策略编辑器(gpedit.msc)解决教程 - 知乎 (zhihu.com) 在Win11中&#…

国网协议电表采集方案

项目背景及需求项目地点:重庆港西光伏电站(中广核重庆)项目背景:光伏发电并网项目电能监控项目目的及难点:实现对EDMI协议电表(Mk6E)的数据采集,监控光伏发电有效性,做到…

项目管理九大口诀

有工作一定有目标 有目标一定有任务 有任务一定有计划 有计划一定有执行 有执行一定有监控 有监控一定有调整 有调整一定有结果 有结果一定有责任 有责任一定有奖惩 🩷有工作一定有目标 目标制定:SMART Specific(具体性)&#x…

# 职场生活之道:善于团结

在职场这个大舞台上,每个人都是演员,也是观众。要想在这个舞台上站稳脚跟,除了专业技能,更要学会如何与人相处,如何团结他人。团结,是职场生存的重要法则之一。 1. 主动团结:多一个朋友&#x…

《昇思25天学习打卡营第1天|基本介绍》

文章目录 前言:今日所学: 前言: 今天非常荣幸的收到了昇思25天学习打卡营的邀请。昇思MindSpore作为华为昇腾AI全栈的重要一员,他支持端、边、云独立的和协同的统一训练和推理框架,有着易于开发、执行效率高、全场景框…