文章分类 -  spring源码分析

摘要:首先我们要明确,Spring 在创建一个 bean 实例时,会先创建一个属性值为 null 的实例,然后再进行一个赋值。在上一篇中已经对创建实例的流程进行了一个详细的分析,在这一章中我们继续来看属性注入这一块的内容。 首先,我们先以一个宏观的角度来了解属性注入,我们在 pojo 类中的 set 方法 阅读全文
posted @ 2022-03-02 15:22 emo98 阅读(63) 评论(0) 推荐(0) 编辑
摘要:不知道各位还记不记得 Spring 对 bean 生命周期的管理方式:Spring 默认采用单例的方式管理 Bean,在获取 Bean 实例的时候会通过一个缓存进行获取,如果还未初始化,那么就会先将 Bean Definition 进行一个初始化放入缓存,然后再通过缓存获取。 那么在上一章中,我也在 阅读全文
posted @ 2022-03-02 15:21 emo98 阅读(34) 评论(0) 推荐(0) 编辑
摘要:首先我们要明确,Spring 在创建一个 bean 实例时,会先创建一个属性值为 null 的实例,然后再进行一个赋值。在上一篇中已经对创建实例的流程进行了一个详细的分析,在这一章中我们继续来看属性注入这一块的内容。 首先深入 doCreateBean() 方法中的 AbstractAutowire 阅读全文
posted @ 2022-03-02 15:15 emo98 阅读(36) 评论(0) 推荐(0) 编辑
摘要:在上一章中我有提到过,无论 Spring 采用的是哪种方式去实现 IoC (无论是注解、xml、或者是其他任何一种方式),在真正调用 getBean() 之前容器中都不存在任何一个 Bean 实例。 或许你有疑问,ApplicationContext 这个容器在初始化的同时内部不是已经缓存 Bean 阅读全文
posted @ 2022-03-02 15:11 emo98 阅读(24) 评论(0) 推荐(0) 编辑
摘要:在上一篇文章中,解析前的准备工作已经分析完毕,接着分析解析 BeanDefinition 的逻辑。 beanDefinitionReader.loadBeanDefinitions(resource); 首先我们进入到 XmlBeanDefinitionReader.loadBeanDefiniti 阅读全文
posted @ 2022-03-02 15:10 emo98 阅读(28) 评论(0) 推荐(0) 编辑
摘要:在上一篇文章中,我提到了 Spring 在宏观上的 IoC 执行流程,也粗略地拆解了整个流程中的核心组件,这些组件包括了: 资源抽象 - Resource 注册器,也可称之为工厂 - DefaultListableBeanFactory 读取器 - BeanDefinitionReader 那么在这 阅读全文
posted @ 2022-03-02 15:09 emo98 阅读(31) 评论(0) 推荐(0) 编辑
摘要:当今,SpringBoot、SpringCloud 盛行,而无论怎么发展,背后的根基依然是 Spring 的 IoC 与 Aop,这两个核心是无论如何也不会变化的。 为了加深自己对 Spring 的理解,笔者打算针对 Spring 源码分析,内容涉及到了 IoC、Aop、事务管理,在分析的同时写下自 阅读全文
posted @ 2022-03-02 15:08 emo98 阅读(58) 评论(0) 推荐(0) 编辑