Spring框架(一):SpringBean的生命周期以及循环依赖和处理方式

news2025/1/7 18:47:47

这里写目录标题

  • 前言
  • Spring的生命周期
  • 循环依赖
  • 三级缓存处理流程
  • Spring Ioc容器实例化 流程

前言

痛定思痛,主要问题出现在自己雀氏不熟悉框架基础、一些面试题,以及sql的使用淡忘了。
本章节的开始是对于过去的重新回顾,当然,我也会深入基础,阅读源码,仔细熟悉开发过程,对问题进行整体学习。

今天是第一章节spring 篇,
相关代码已经推送到了
链接: link

Spring的生命周期

请添加图片描述

SpringBean的创建都是交给框架来实现的
这里是Bean的三个基本环节,最后的销毁就不介绍了

  • 实例化: 判断bean的type和作用范围等初始信息,通过反射机制Proxy进行实例化,如果出现了互相依赖,会有三级缓存来进行处理
  • 初始化:调用BeanFinitionMap中的信息来进行加载,通过工厂处理器实现属性填充等,还有aware、aop等处理
  • 完成:实现后,成为一个完成springBean,存入单例池中去

在这里插入图片描述

在这里插入图片描述

下面是通过debug来进行调用

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

循环依赖

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

三级缓存处理流程

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

Spring Ioc容器实例化 流程

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

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

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

相关文章

该如何选择合适的服务器,保证服务器的安全

在服务器遇到大量进犯,不方便转移时,很多运营网站或许游戏的会挑选接入云防护产品, 服务器在遭受进犯形成服务器瘫痪无法正常的运行,遇到这样的状况都会挑选有较高防护的服务器器,可是有时分服务器的数据搬迁有比较麻…

如何将音乐导入iphone手机,怎么将歌曲导入到iphone

如何将音乐导入iphone手机?把音乐导入苹果手机,主要有2种方法:一种是使用iTunes把音乐导入iPhone,另一种是通过专门的工具将iPhone不支持的音乐格式导入到手机中。我们一起来了解一下。 方法一、使用iTunes将音乐传输到iphone iT…

【Spring框架】超详细的AOP技术详解,你真的不来看看吗?

✅作者简介:热爱Java后端开发的一名学习者,大家可以跟我一起讨论各种问题喔。 🍎个人主页:Hhzzy99 🍊个人信条:坚持就是胜利! 💞当前专栏:【Spring】 🥭本文内…

led灯什么牌子的质量好又耐用?2022性价比高的led护眼灯品牌推荐

大家生活中可能都接触到了不少的人造灯光,不知道有没有留意过,其实大部分都是使用led灯珠作为发光源呢,这是由于led灯的确有很多传统台灯所不具备的优势。 Led作为一种固态半导体元件,具有自发光的特性,可以直接将电能…

【元宇宙欧米说】探讨Web3领域的文化交汇点

在Web3的加持下,如何融合各产业建立文化新生态?电影、音乐、文学、艺术等如何更好地融汇碰撞创造新生机? 12月6日下午三点,ⁿᵒ 3.14创始人Crystal将以“探讨Web3领域的文化交汇点”为题,与大家共同探讨Web3时代的文化…

[附源码]Python计算机毕业设计Django基于JavaWeb的学校社团活动管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,我…

领悟《信号与系统》之 连续系统的频域分析

连续系统的频域分析一、连续系统的频域分析1. 系统函数与系统的频域分析1. 理论分析2. 频域分析法求解系统零状态响应步骤2. 无失真传输一、连续系统的频域分析 一个系统的重要指标就是求系统函数,用系统函数来表征这个系统得特性,系统函数其实系统对外…

【毕业设计】深度学习OCR中文识别系统 - opencv python

文章目录0 前言1 课题背景2 实现效果3 文本区域检测网络-CTPN4 文本识别网络-CRNN5 最后0 前言 🔥 Hi,大家好,这里是丹成学长的毕设系列文章! 🔥 对毕设有任何疑问都可以问学长哦! 这两年开始,各个学校对…

Android ViewPager2 + Fragment + BottomNavigationView 联动

Android ViewPager2 Fragment BottomNavigationView 联动 本篇主要介绍一下 ViewPager2 Fragment BottomNavigationView , 上篇中把ViewPager2和Fragment 联动起来了, 本篇主要把 BottomNavigationView集成进去 概述 BottomNavigationView 是一个底部导航控件, 现在要实现…

import一个“太极”库,让Python代码提速100倍

众所周知,Python的简单和易读性是靠牺牲性能为代价的—— 尤其是在计算密集的情况下,比如多重for循环。 不过现在,大佬胡渊鸣说了: 只需import 一个叫做“Taichi”的库,就可以把代码速度提升100倍! 不信&…

Springboot配置文件加密

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、jasypt二、使用步骤1.引入依赖2.添加配置3.生成密钥3.idea启动添加环境变量3.linux环境启动报错前言 前面叙述了数据传递过程中的加密,需要使用…

docker 命令 相关

mysql 主从复制: 一主多从配置 主服务器:容器名mysql-master,端口3307 从服务器:容器名mysql-slave1,端口3308 从服务器:容器名mysql-slave2,端口3309 注意:如果此时防火墙是开启…

[附源码]计算机毕业设计JAVA星期八酒店管理系统

[附源码]计算机毕业设计JAVA星期八酒店管理系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM myba…

ASEMI整流桥堆GBJ406的作用,GBJ406整流桥型号及参数

编辑-Z GBJ406整流桥型号及参数,ASEMI整流扁桥GBJ406电性参数为4A反向电压600V;浪涌电流Ifsm为120A;工作温度为:-55℃~150℃;采用台湾进GPP芯片中有4个芯片,芯片尺寸84MIL。 GBJ406参数描述 型号&#xf…

FCPX插件Yanobox Motype for mac(43种动画发生器)

Yanobox Motype mac版是要您后期制作的福音。插件仅适用于:Mac OSX 苹果系统下:Final Cut Pro X 、Motion,Premiere Pro和After Effects剪辑软件。随意更改字体大小和位置,随意制作你喜欢的视频! 提供了一个多功能的…

从根上理解Cglib与JDK动态代理

最近在阅读到了Spring源码对于两种动态代理使用在不同场景下的使用,两种方式各有利弊写一篇文加深自己的认识。文中对于源码的涉及较少,更多的是作者自己的理解和举例,然后通过部分源码验证。 首先看两个面试经常会遇到的关于Spring的问题&a…

数理统计笔记7:分类数据分析-拟合优度检验和列联分析

引言 数理统计笔记的第7篇介绍了分类数据分析的方法,包括拟合优度检验和列联分析,给出了两者的卡方检验量的表达式,并且用例子进行了说明,最后谈了列联分析需要注意的问题。 引言什么是分类型数据拟合优度检验χ2\chi^2χ2统计量例…

使用AWS-AppSync实时监控物联网设备iOS端

aws-appsync-iot-core-实时iOS端示例 第一步参考如下资料 第一步找资料 网址: https://aws.amazon.com/cn/blogs/mobile/iot-with-aws-appsync/ iOS的sdk是 : https://github.com/aws-amplify/aws-sdk-ios android的sdk是: https://gith…

[附源码]JAVA毕业设计基于web的公益募捐网站(系统+LW)

[附源码]JAVA毕业设计基于web的公益募捐网站(系统LW) 目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目…

Apache JMeter压测工具

1.工具介绍 是什么 JMeter是一个软件,使负载测试或业绩为导向的业务(功能)测试不同的协议或技术。 Apache软件基金会的Stefano Mazzocchi JMeter的最初的开发。他写道:它主要对 Apache JServ(现在称为如Apache Tomcat…