记录一次出现循环依赖问题

news2024/10/1 7:19:34

具体的结构设计:
在这里插入图片描述
在上面的图片中:
UnboundBlackVerifyChain类中继承了UnboundChain类。但是UnboundChain类中注入了下面三个类。
@Scope(“prototype”)
UnboundLinkFlowCheck类

@Scope(“prototype”)
UnboundUserNameCheck类

@Scope(“prototype”)
UnboundIdCardCheck类
这三个类都是原型的且都注入了DeconstructionService类。

但是DeconstructionService类中又注入了UnboundBlackVerifyChain类。那么就形成了循环依赖了。

在Spring框架中,当两个bean相互依赖时,可能会出现循环依赖问题。Spring可以处理某些情况下的循环依赖,但其处理能力取决于bean的作用域(scope)。

单例作用域(Singleton Scope)
对于默认的单例作用域,Spring能够通过三级缓存机制处理循环依赖。Spring会在创建bean的过程中,将尚未完全初始化的bean实例暴露在一个早期引用的缓存中,这样其他bean在依赖时可以引用到这个早期的实例。

原型作用域(Prototype Scope)
对于原型作用域,情况就不同了。Spring不支持原型作用域下的循环依赖。原因是原型bean在每次请求时都会创建一个新的实例,Spring无法像处理单例bean那样在创建过程中缓存和注入未完全初始化的bean实例。

因此,当A模块和B模块都配置为原型作用域并且相互依赖时,Spring会在尝试创建bean时抛出一个BeanCurrentlyInCreationException,因为它无法解决这种循环依赖。

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

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

相关文章

[linux 驱动]input输入子系统详解与实战

目录 1 描述 2 结构体 2.1 input_class 2.2 input_dev 2.4 input_event 2.4 input_dev_type 3 input接口 3.1 input_allocate_device 3.2 input_free_device 3.3 input_register_device 3.4 input_unregister_device 3.5 input_event 3.6 input_sync 3.7 input_se…

用网络分析仪测试功分器驻波的5个步骤

在射频系统中,功分器的驻波比直接关系到信号的稳定性和传输效率。本文将带您深入了解驻波比的测试方法和影响其结果的因素。 一、功分器驻波比 驻波(Voltage Standing Wave Ratio),简称SWR或VSWR,是指频率相同、传输方向相反的两种波&#xf…

.NET Core 高性能并发编程

一、高性能大并发架构设计 .NET Core 是一个高性能、可扩展的开发框架,可以用于构建各种类型的应用程序,包括高性能大并发应用程序。为了设计和开发高性能大并发 .NET Core 应用程序,需要考虑以下几个方面: 1. 异步编程 异步编程…

最大正方形 Python题解

最大正方形 题目描述 在一个 n m n\times m nm 的只包含 0 0 0 和 1 1 1 的矩阵里找出一个不包含 0 0 0 的最大正方形,输出边长。 输入格式 输入文件第一行为两个整数 n , m ( 1 ≤ n , m ≤ 100 ) n,m(1\leq n,m\leq 100) n,m(1≤n,m≤100),接…

养猪场饲料加工机械设备有哪些

养猪场饲料加工机械设备主要包括以下几类:1‌、粉碎机‌:主要用于将原料进行粉碎,以便与其他饲料原料混合均匀。常见的粉碎机有水滴式粉碎机和立式粉碎机两种,用户可以根据原料的特性选择适合的机型。2‌、搅拌机‌:用…

ONVIF、GB28181技术特点和使用场景分析

技术背景 好多开发者希望搞明白ONVIF和GB28181的区别和各自适合的场景,为什么大牛直播SDK只做了GB28181接入端,没有做ONVIF?本文就二者差别,做个大概的介绍。 ONVIF ONVIF(Open Network Video Interface Forum&…

【Linux 23】线程池

文章目录 🌈 一、线程池的概念🌈 二、线程池的应用场景🌈 三、线程池的实现 🌈 一、线程池的概念 线程池 (thread pool) 是一种利用池化技术的线程使用模式。 虽然创建线程的代价比创建进程的要小很多,但小并不意味着…

Mysql高级篇(下)——日志

日志 一、日志概述二、日志弊端二、日志分类三、 各日志详情介绍1、慢查询日志(Slow Query Log)2、通用查询日志(General Query Log)3、错误日志(Error Log)4、二进制日志(Binary Log&#xff0…

初识Linux · 进程等待

目录 前言: 进程等待是什么 为什么需要进程等待 进程等待都在做什么 前言: 通过上文的学习,我们了解了进程终止,知道终止是在干什么,终止的三种情况,以及有了退出码,错误码的概念&#xff…

基于大数据的学生体质健康信息系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

图像数据增强albumentations之自然景色

一 背景 最近在做关于图像数据增强方面,发现albumentations这个包比较好用,在此学习一下如何使用API二 albumentations 安装 注意,注意,注意 python版本3.8 pip install -U albumentations三 API学习 1 模拟雨水 import os i…

慢病中医药膳养生食疗管理微信小程序、基于微信小程序的慢病中医药膳养生食疗管理系统设计与实现、中医药膳养生食疗管理微信小程序的开发与应用(源码+文档+定制)

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

【SpringCloud】注册中⼼的其他实现-Nacos

Nacos 1. Nacos简介 2. Nacos安装2.1 下载安装包2.2 Windows2.2.1 解压2.2.2 修改单机模式2.2.3 启动Nacos2.2.4 常⻅问题集群模式启动端⼝号冲突 2.3 Linux2.3.1 准备安装包2.3.2 单机模式启动 1. Nacos简介 2018年6⽉, Eureka 2.0宣布闭源(但是1.X版本仍然为活跃项⽬), 同年…

【mmengine】配置器(config)(进阶)继承与导出,命令行修改配置

一、配置文件的继承 1.1 继承机制概述 新建optimizer_cfg.py: optimizer dict(typeSGD, lr0.02, momentum0.9, weight_decay0.0001)新建runtime_cfg.py: device "cuda" gpu_ids [0, 1] batch_size 64 epochs 100 num_workers 8新建resnet50.py: _base_ […

图解C#高级教程(三):泛型

本讲用许多代码示例介绍了 C# 语言当中的泛型,主要包括泛型类、接口、结构、委托和方法。 文章目录 1. 为什么需要泛型?2. 泛型类的定义2.1 泛型类的定义2.2 使用泛型类创建变量和实例 3. 使用泛型类实现一个简单的栈3.1 类型参数的约束3.2 Where 子句3…

不相同的二叉搜索树

给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例 1: 输入:n 3 输出:5示例 2: 输入:n 1 输出:1提…

数字教学时代:构建高效在线帮助中心的重要性

在数字化教学日益普及的今天,教育领域正经历着前所未有的变革。随着在线课程、虚拟教室、智能学习平台等数字化工具的广泛应用,教育资源的获取方式和学习模式发生了深刻变化。然而,这种变革也带来了新的挑战,其中之一便是如何确保…

YashanDB Docker镜像制作

本文作者:YashanDB中级服务工程师鲍健昕 为什么需要Docker部署数据库 常规使用 yasboot 部署数据库的方法,操作流程复杂,需要配置许多配置文件以及环境变量,不同用户使用的环境不同,那么环境配置也会存在差异&#x…

YOLO11震撼发布!

非常高兴地向大家介绍 Ultralytics YOLO系列的新模型: YOLO11! YOLO11 在以往 YOLO 模型基础上带来了一系列强大的功能和优化,使其速度更快、更准确、用途更广泛。主要改进包括 增强了特征提取功能,从而可以更精确地捕捉细节以更…

啤酒在文学中的浪漫形象:精酿啤酒的诗意之旅

在文学的浩瀚星空中,啤酒并非仅仅是醉人的琼浆,它更是一种情感的载体,一种浪漫的符号。尤其是当提及Fendi Club精酿啤酒时,我们仿佛能闻到那从古老酒窖中飘出的馥郁香气,感受到它在文字间流淌的诗意与温情。 一、啤酒…