spring
文章平均质量分 73
始末丶Yzx
这个作者很懒,什么都没留下…
展开
-
SpringBoot的自动配置源码
SpringBoot的自动配置原理@SpringBootApplication注解SpringBoot的自动配置原理@EnableAutoConfiguration注解作用 @SpringBootApplication注解 @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @Componen原创 2021-03-01 15:02:59 · 152 阅读 · 0 评论 -
Spring 循环依赖问题
Spring 循环依赖问题整体过程 解决循环依赖的前置条件 出现循环依赖的 Bean 必须是单例的 依赖注入的方式不能都是构造注入的方式 整体过程 Spring 通过三级缓存解决了循环依赖问题, 一级缓存为单例池, 二级缓存为早期暴光对象, 也就是还没有属性注入及初始化的对象, 三级缓存为早期暴露的单例工厂, 二级缓存中存储的就是从这个工厂获取的对象 调用 doGetBean() 方法, 想要获取 beanA, 于是调用 getSingleton() 方法从缓存中查找 beanA 在 getS原创 2021-02-21 10:06:50 · 129 阅读 · 0 评论 -
Spring事务
Spring事务Spring事务的隔离级别Spring 事务传播行为@Transactional Spring事务的隔离级别 TransactionDefinition.ISOLATION_DEFAULT: 使用后端数据库默认的隔离级别 TransactionDefinition.ISOLATION_READ_UNCOMMITTED: 最低的隔离级别,允许读取尚未提交的数据变更,可能会导致脏读,幻读或不可重复读 TransactionDefinition.ISOLATION_READ_COMMITTED:原创 2021-02-19 11:23:56 · 105 阅读 · 0 评论 -
Spring中的Bean的生命周期
Spring中的Bean的生命周期 Bean 容器找到配置文件中的 Spring Bean 的定义 Bean 容器利用 Java Reflection API 创建 Bean的实例 如果涉及到一些属性值, 利用 set() 方法设置属性值 如果 Bean 实现了 BeanNameAware 接口, 调用 SetBeanName() 方法传入 Bean 的名字 如果实现了其他的 *Aware 接口, 就调用相应的方法 如果有和加载这个 Bean 的 Spring 容器相关的 BeanPostProces原创 2021-02-19 10:47:37 · 85 阅读 · 0 评论