Spring
文章平均质量分 91
Forward233
砥砺前行,不忘初心
展开
-
Spring 为什么要使用三级缓存来解决循环依赖
抛出问题: Spring使用三级缓存解决Bean注入循环的依赖的问题网上已经有很多源码分析的文章了,那么我们来总结一下,Spring为什么要使用三个缓存(三级缓存)来解决循环依赖问题呢,为什么不能是一个缓存,两个缓存呢?Spring中的三级缓存:DefaultSingletonBeanRegistry类的三个成员变量命名如下:/** 一级缓存 单例缓存池 缓存的是一个完整可用的bean实例*/private final Map<String, Object> singletonObj原创 2021-01-09 22:44:12 · 1422 阅读 · 9 评论 -
SpringBoot Bean生命周期
首先上一张自制的自认为比较全的Spring Bean生命周期流程图:测试代码:测试bean@Datapublic class BeanLifeCycle implements InitializingBean, DisposableBean, BeanFactoryAware, BeanNameAware { private String name; public BeanLifeCycle() { System.out.println("BeanTestL原创 2020-05-12 15:07:17 · 1010 阅读 · 0 评论 -
Spring方法中嵌套事务及事务失效的处理方法
Spring中嵌套事务及事务失效的处理方法 在Spring中处理业务逻辑的时候,大家可能会遇到与下面这段代码的类似的逻辑: 这时候,大家为了数据库数据的ACID,需要做事务处理了,即要求这两条对数据库数据的操作同时成功,如果有其中的一个操作失败了,那么数据必须回滚到第一个操作之前的状态。Spring中,可通过在想要回滚的方法上加@Transactional注解,来实现事务控制。 对...原创 2020-12-19 12:07:33 · 4659 阅读 · 0 评论