很多人很想学习spring,阅读spring源码。但无从下手。
我和你们一样,也是如此,不知从何下手。
1. 用IDEA搭建spring源码阅读环境 已经过去好久了,一直没有好好的去阅读,也不知道从哪里开始。
内心一直有一个声音在提醒我,我能够将spring啃透。坚信自己,也相信自己;
我的学习经验告诉我,要想将一门技术学透,学到精通的地步,需要不断的去推敲,只有不断的从各个途径去学习其中的知识,才可以做到真正意义上的精通。----也奉劝妄想从工作中学透一门技术的各位,多花点时间去研究底层,工作只能让你做到熟练运用,而不会让你去造轮子。
spring是一个大轮子,但spring 并没有大家想象那么难,万变不离其宗 只要抓住核心思想,学习起来就会轻车熟路。
在使用spring的过程中,比如用到aop、依赖注入 等相关应用时,是否有想过spring是如何做的呢?
spring终究是java程序,对于java无非就是一些对象的创建,spring最核心的一件事就是将spring中的对象创建定义了一系列流程,也就是所谓的springbean生命周期。而aop和依赖注入,就是在这个流程中实现。
换句话说bean 的定义是spring的核心,要想用好spring就要学会如何去写一个bean放入spring
首先要区分spring bean 和 java实例对象。
spring bean 是java的实例对象,但java对象不一定是spring bean。
在spring中bean的生命周期很多,
粗略的分,可以分为4个阶段:
实例化-> 属性注入-> 初始化-> 销毁
细致的分:
- 生成BeanDefinition
- 合并BeanDefinition
- 类的加载
- 实例化前
- 推断构造方法
- 实例化
- BeanDefinition后置处理
- 属性注入
- Aware通知 :1、BeanNameAware 2、BeanClassLoaderAwaer 3、BeanFactoryAware
- 初始化前
- 初始化
- 初始化后
- 销毁
很晚了,早点休息,第二天继续
后续更新更详细的内容…



