spring流程mark
2018-12-22 本文已影响0人
sparkle777
读取资源信息,注册到Hashmap
![](https://img.haomeiwen.com/i15448679/d8fbb1e61ee18f0e.png)
![](https://img.haomeiwen.com/i15448679/27c8fb183ca510ed.png)
xml配置的单个bean注册流程
![](https://img.haomeiwen.com/i15448679/2667cf4ef748ada8.png)
component-scan package中的bean注册流程
![](https://img.haomeiwen.com/i15448679/fb4b65fdca2a8096.png)
预实例化
![](https://img.haomeiwen.com/i15448679/c7b90aaff7ed56dd.png)
先从缓存获取:
![](https://img.haomeiwen.com/i15448679/051abfa53a9c5e2e.png)
三级缓存
![](https://img.haomeiwen.com/i15448679/871134536cc89a91.png)
![](https://img.haomeiwen.com/i15448679/0040993c21998433.png)
![](https://img.haomeiwen.com/i15448679/e58ae3101c3678af.png)
![](https://img.haomeiwen.com/i15448679/fbf12451a03fdc6c.png)
三步走:
(1)createBeanInstance:实例化,生成Bean所包含的java对象
(2)populateBean:Bean的初始化,依赖注入在这里发生
![](https://img.haomeiwen.com/i15448679/b481801467db9f08.png)
![](https://img.haomeiwen.com/i15448679/423641a3e0790aed.png)
todo
(3)initializeBean:调用spring xml中的init 方法。