mirror of
https://github.com/youthlql/JavaYouth.git
synced 2026-03-13 21:33:42 +08:00
图床更新,请注意查看readme
This commit is contained in:
@@ -97,7 +97,7 @@ public interface BeanFactoryPostProcessor {
|
||||
}
|
||||
```
|
||||
|
||||
<img src="https://npm.elemecdn.com/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928171641029.png"/>
|
||||
<img src="https://upyunimg.imlql.cn/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928171641029.png"/>
|
||||
|
||||
核心就是我们对于传进来的参数,可以**修改,覆盖,添加**它的东西。对于BeanPostProcessor来说,传进来的参数是`(Object bean, String beanName)` ,它都已经把bean传给你了,这意味着我们可以修改传进来的Bean的任何东西。不管你是事务也好,AOP也好,都是通过这些个后置处理器来添加这些额外功能的。
|
||||
|
||||
@@ -106,11 +106,11 @@ BeanFactoryPostProcessor:后置增强BeanFactory,也就是增强Bean工厂
|
||||
|
||||
### BeanFactoryPostProcessor的接口关系
|
||||
|
||||
<img src="https://npm.elemecdn.com/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928172716846.png" />
|
||||
<img src="https://upyunimg.imlql.cn/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928172716846.png" />
|
||||
|
||||
### BeanPostProcessor接口关系
|
||||
|
||||
<img src="https://npm.elemecdn.com/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928173012384.png"/>
|
||||
<img src="https://upyunimg.imlql.cn/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928173012384.png"/>
|
||||
|
||||
DestructionAwareBeanPostProcessor接口是跟销毁有关的,我们这里不分析
|
||||
|
||||
@@ -391,7 +391,7 @@ public class MainTest {
|
||||
|
||||
### 流程图-Bean生命周期与后置工厂处理器
|
||||
|
||||
<img src="https://npm.elemecdn.com/youthlql@1.0.7/spring-sourcecode-v1/flow_chart/Bean%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F%E4%B8%8E%E5%90%8E%E7%BD%AE%E5%B7%A5%E5%8E%82%E5%A4%84%E7%90%86%E5%99%A8.png">
|
||||
<img src="https://upyunimg.imlql.cn/youthlql@1.0.7/spring-sourcecode-v1/flow_chart/Bean%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F%E4%B8%8E%E5%90%8E%E7%BD%AE%E5%B7%A5%E5%8E%82%E5%A4%84%E7%90%86%E5%99%A8.png">
|
||||
|
||||
### BeanDefinitionRegistryPostProcessor
|
||||
|
||||
@@ -399,7 +399,7 @@ public class MainTest {
|
||||
|
||||
##### Debug调用栈
|
||||
|
||||
<img src="https://npm.elemecdn.com/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928193241982.png"/>
|
||||
<img src="https://upyunimg.imlql.cn/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928193241982.png"/>
|
||||
|
||||
##### AbstractApplicationContext#refresh()
|
||||
|
||||
@@ -615,9 +615,9 @@ public class MainTest {
|
||||
|
||||
> Spring中所有组件的获取都是通过getBean(),容器中有就拿,没有就创建。
|
||||
|
||||
<img src="https://npm.elemecdn.com/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928203211130.png" />
|
||||
<img src="https://upyunimg.imlql.cn/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928203211130.png" />
|
||||
|
||||
<img src="https://npm.elemecdn.com/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928195709384.png" />
|
||||
<img src="https://upyunimg.imlql.cn/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928195709384.png" />
|
||||
|
||||
下面那个是Spring默认提供的后置处理器,我们后面再讲。
|
||||
|
||||
@@ -677,11 +677,11 @@ public interface Ordered {
|
||||
|
||||
##### Debug调用栈
|
||||
|
||||
<img src="https://npm.elemecdn.com/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928203957687.png"/>
|
||||
<img src="https://upyunimg.imlql.cn/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928203957687.png"/>
|
||||
|
||||
从PostProcessorRegistrationDelegate 142行开始走不同的调用,代码在上面有注释
|
||||
|
||||
<img src="https://npm.elemecdn.com/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928204229225.png" />
|
||||
<img src="https://upyunimg.imlql.cn/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928204229225.png" />
|
||||
|
||||
##### PostProcessorRegistrationDelegate#invokeBeanDefinitionRegistryPostProcessors()
|
||||
|
||||
@@ -706,7 +706,7 @@ private static void invokeBeanDefinitionRegistryPostProcessors(
|
||||
|
||||
##### Debug调用栈
|
||||
|
||||
<img src="https://npm.elemecdn.com/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928204806052.png" />
|
||||
<img src="https://upyunimg.imlql.cn/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928204806052.png" />
|
||||
|
||||
|
||||
|
||||
@@ -733,7 +733,7 @@ private static void invokeBeanFactoryPostProcessors(
|
||||
|
||||
##### Debug调用栈
|
||||
|
||||
<img src="https://npm.elemecdn.com/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928210240702.png" />
|
||||
<img src="https://upyunimg.imlql.cn/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928210240702.png" />
|
||||
|
||||
|
||||
|
||||
@@ -741,7 +741,7 @@ private static void invokeBeanFactoryPostProcessors(
|
||||
|
||||
##### Debug调用栈
|
||||
|
||||
<img src="https://npm.elemecdn.com/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928210858103.png">
|
||||
<img src="https://upyunimg.imlql.cn/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928210858103.png">
|
||||
|
||||
代码注释也是上面那个,BeanDefinitionRegistryPostProcessor和BeanFactoryPostProcessor执行逻辑基本一样
|
||||
|
||||
@@ -779,11 +779,11 @@ public class MainConfig {
|
||||
|
||||
|
||||
|
||||
<img src="https://npm.elemecdn.com/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928211847405.png" />
|
||||
<img src="https://upyunimg.imlql.cn/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928211847405.png" />
|
||||
|
||||
从这一步进来
|
||||
|
||||
<img src="https://npm.elemecdn.com/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928212026255.png" />
|
||||
<img src="https://upyunimg.imlql.cn/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928212026255.png" />
|
||||
|
||||
|
||||
|
||||
@@ -791,7 +791,7 @@ public class MainConfig {
|
||||
|
||||
#### PostProcessorRegistrationDelegate#invokeBeanDefinitionRegistryPostProcessors()
|
||||
|
||||
<img src="https://npm.elemecdn.com/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928212134359.png" />
|
||||
<img src="https://upyunimg.imlql.cn/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928212134359.png" />
|
||||
|
||||
F7进入
|
||||
|
||||
@@ -799,7 +799,7 @@ F7进入
|
||||
|
||||
ConfigurationClassPostProcessor配置类的后置处理
|
||||
|
||||
<img src="https://npm.elemecdn.com/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928212332382.png" />
|
||||
<img src="https://upyunimg.imlql.cn/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928212332382.png" />
|
||||
|
||||
|
||||
|
||||
@@ -914,7 +914,7 @@ ConfigurationClassPostProcessor配置类的后置处理
|
||||
|
||||
这几个怎么来的我们后面说
|
||||
|
||||
<img src="https://npm.elemecdn.com/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928212543963.png" />
|
||||
<img src="https://upyunimg.imlql.cn/youthlql@1.0.6/spring-sourcecode-v1/chapter_02/image-20210928212543963.png" />
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user