Spring-让你彻底搞懂Spring如何解决循环依赖?2

简介: Spring-让你彻底搞懂Spring如何解决循环依赖?2

二、简单依赖注入


再创建一个普通类


package com.woniu.service;
import org.springframework.stereotype.Component;
@Component
public class Fservice {
}
复制代码


修改一下Eservice,注入Fservice实例


package com.woniu.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class Eservice {
    @Autowired
    private Fservice fservice;
}


image.png

image.png

image.png

image.png

image.png

image.png

image.png

在这个populateBean里面注入Fservice的实例到Eservice中

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png


上面截图中的descriptor.resolveCandidate方法继续跟踪会进入到下面截图的方法,注意,这时候,需要从容器中查找Fservice的实例对象了

image.png

下面就正式进入创建一个Fservice对象的实例,并且添加到spring的容器中,也就是第一部分讲的spring容器启动流程

image.png

image.png

image.png

把创建好的fservice实例返回给刚才正在处理@Autowired的注解的代码

image.png

image.png

image.png

image.png

image.png

image.png

程序继续运行,把eservice也加入到一级缓存


image.png

image.png


相关文章
|
1天前
|
人工智能 Java Spring
Spring Boot循环依赖的症状和解决方案
Spring Boot循环依赖的症状和解决方案
|
1天前
|
缓存 Java 开发工具
【spring】如何解决循环依赖
【spring】如何解决循环依赖
14 0
|
1天前
|
存储 缓存 Java
【Spring系列笔记】依赖注入,循环依赖以及三级缓存
依赖注入: 是指通过外部配置,将依赖关系注入到对象中。依赖注入有四种主要方式:构造器注入、setter方法注入、接口注入以及注解注入。其中注解注入在开发中最为常见,因为其使用便捷以及可维护性强;构造器注入为官方推荐,可注入不可变对象以及解决循环依赖问题。本文基于依赖注入方式引出循环依赖以及三层缓存的底层原理,以及代码的实现方式。
24 0
|
1天前
|
存储 缓存 Java
【spring】06 循环依赖的分析与解决
【spring】06 循环依赖的分析与解决
9 1
|
1天前
|
存储 缓存 Java
Spring解决循环依赖
Spring解决循环依赖
|
存储 缓存 Java
Spring 动态代理时是如何解决循环依赖的?为什么要使用三级缓存?
在研究 『 Spring 是如何解决循环依赖的 』 的时候,了解到 Spring 是借助三级缓存来解决循环依赖的。
407 0
|
8月前
|
存储 缓存 Java
Spring为何需要三级缓存解决循环依赖,而不是二级缓存?
今天给大家分享一道大厂面试真题,Spring为何需要三级缓存解决循环依赖,而不是二级缓存?我一共分为五个部分来给大家介绍: 1、什么是循环依赖? 循环依赖就是指循环引用,是两个或多个Bean相互之间的持有对方的引用。在代码中,如果将两个或多个Bean互相之间持有对方的引用,因为Spring中加入了依赖注入机制,也就是自动给属性赋值。Spring给属性赋值时,将会导致死循环。那么,哪些情况会出现循环依赖呢?
157 0
|
9月前
|
缓存 Java Spring
最通俗的方式理解Spring循环依赖三级缓存
有位粉丝找我,说要耽误我5分钟时间,想让我帮助它理解一下Spring循环依赖的三级缓存,绕晕了一个星期,没有想明白。我想今天,用最通俗易懂的方式给大家重新梳理一下,保证让你听懂了。
81 0
|
缓存 Java Spring
Spring的循环依赖和三级缓存
Spring的循环依赖和三级缓存
811 0
Spring的循环依赖和三级缓存
|
缓存 Java Spring
Spring 源码阅读 21:循环依赖和三级缓存
本文分析了 Spring 容器从缓存中获取单例 Bean 的原理,主要涉及到了 Spring 为解决循环依赖问题,而设计的三级缓存机制。
140 0
Spring 源码阅读 21:循环依赖和三级缓存