框架篇
框架篇

Spring-单例bean是线程安全的吗


问答环节


Spring-AOP相关面试题



问答流程



Spring-事务失效的场景

异常捕获处理

抛出检查异常

非public方法

问答环节

Spring-bean的生命周期

BeanDefinition

bean 流程

问答环节

Spring-bean的循环依赖(循环引用)

什么是Spring的循环依赖?

三级缓存解决循环依赖


二级缓存即可解决循环依赖
实例化的原始对象就是仅经过构造函数过后的对象,还没有经历后面的依赖注入等,所以是“半成品”

三级缓存解决代理对象问题
其实本质上来说,3级缓存缓存的就是对象的地址,通过把地址给B对象来走完B的流程
代理是在Bean的初始化后执行的,但是二级缓存是在对象实例化后写入的,因此二级缓存会丢失代理的“特性”

构造方法出现了循环依赖怎么解决?
三级缓存能够解决初始化过程中的循环依赖,不能解决构造函数产生的循环依赖
构造函数对应生命周期,构造未完成,连对象实例都没有,只能延迟某个对象的注入,才能解决

问答流程
这里面为什么也要有二级缓存,因为在流程进行中,三级缓存中产生的对象在第一次会放到二级缓存中,供后面的流程获取对象时使用,可以直接从二级缓存中获取到这个对象。如果没有二级缓存,将会导致每次都要从三级缓存中去创建对象,每次都要重新生成。


SpringMVC-执行流程

视图阶段(jsp)

前后端分离阶段(接口开发,异步请求)

问答流程
老旧版本

新版本


SpringBoot-自动配置原理


问答流程

Spring框架常见注解

Spring的常见注解有哪些?

SpringMVC常见的注解

Springboot常见注解

MyBatis-执行流程


问答流程

MyBatis-延迟加载使用及原理

延迟加载的原理

问答流程

MyBatis-一级、二级缓存

一级缓存

二级缓存

注意事项

问答流程


浙公网安备 33010602011771号