随笔分类 -  Spring源码分析

对Spring各部分源码进行阅读并记录
摘要:前言 我们在开发中常遇到一种场景,Bean里面有一些参数是比较固定的,这种时候通常会采用配置的方式,将这些参数配置在.properties文件中,然后在Bean实例化的时候通过Spring将这些.properties文件中配置的参数使用占位符"${...}"替换的方式读入并设置到Bean的相应参数中 阅读全文
posted @ 2017-04-30 17:34 五月的仓颉 阅读(25433) 评论(3) 推荐(14) 编辑
摘要:AspectJAwareAdvisorAutoProxyCreator及为Bean生成代理时机分析 上篇文章说了,org.springframework.aop.aspectj.autoproxy.AspectJAwareAdvisorAutoProxyCreator这个类是Spring提供给开发者 阅读全文
posted @ 2017-04-30 13:32 五月的仓颉 阅读(10636) 评论(4) 推荐(4) 编辑
摘要:前言 前面写了六篇文章详细地分析了Spring Bean加载流程,这部分完了之后就要进入一个比较困难的部分了,就是AOP的实现原理分析。为了探究AOP实现原理,首先定义几个类,一个Dao接口: Dao接口的实现类DaoImpl: 定义一个TimeHandler,用于方法调用前后打印时间,在AOP中, 阅读全文
posted @ 2017-04-29 14:23 五月的仓颉 阅读(32812) 评论(9) 推荐(16) 编辑
摘要:前言 Spring配置文件读取流程本来是和http://www.cnblogs.com/xrq730/p/6285358.html一文放在一起的,这两天在看Spring自定义标签的时候,感觉对Spring配置文件读取流程还是研究得不够,因此将Spring配置文件读取流程部分从之前的文章拆出来单独成为 阅读全文
posted @ 2017-04-22 12:44 五月的仓颉 阅读(5664) 评论(1) 推荐(3) 编辑
摘要:原型Bean加载过程 之前的文章,分析了非懒加载的单例Bean整个加载过程,除了非懒加载的单例Bean之外,Spring中还有一种Bean就是原型(Prototype)的Bean,看一下定义方式: 原型Bean加载流程总得来说和单例Bean差不多,看一下不同之处,在AbstractBeanFacto 阅读全文
posted @ 2017-04-16 14:35 五月的仓颉 阅读(5421) 评论(0) 推荐(6) 编辑
摘要:前言 之前两篇文章【Spring源码分析】非懒加载的单例Bean初始化过程(上篇)和【Spring源码分析】非懒加载的单例Bean初始化过程(下篇)比较详细地分析了非懒加载的单例Bean的初始化过程,整个流程始于AbstractApplicationContext的refresh()方法: 之前重点 阅读全文
posted @ 2017-04-07 19:51 五月的仓颉 阅读(4611) 评论(7) 推荐(0) 编辑
摘要:doCreateBean方法 上文【Spring源码分析】非懒加载的单例Bean初始化过程(上篇),分析了单例的Bean初始化流程,并跟踪代码进入了主流程,看到了Bean是如何被实例化出来的。先贴一下AbstractAutowireCapableBeanFactory的doCreateBean方法代 阅读全文
posted @ 2017-02-04 16:49 五月的仓颉 阅读(7613) 评论(2) 推荐(1) 编辑
摘要:代码入口 上文【Spring源码分析】Bean加载流程概览,比较详细地分析了Spring上下文加载的代码入口,并且在AbstractApplicationContext的refresh方法中,点出了finishBeanFactoryInitialization方法完成了对于所有非懒加载的Bean的初 阅读全文
posted @ 2017-02-03 17:13 五月的仓颉 阅读(16335) 评论(8) 推荐(6) 编辑
摘要:代码入口 之前写文章都会啰啰嗦嗦一大堆再开始,进入【Spring源码分析】这个板块就直接切入正题了。 很多朋友可能想看Spring源码,但是不知道应当如何入手去看,这个可以理解:Java开发者通常从事的都是Java Web的工作,对于程序员来说,一个Web项目用到Spring,只是配置一下配置文件而 阅读全文
posted @ 2017-02-03 11:58 五月的仓颉 阅读(66005) 评论(26) 推荐(35) 编辑