Merge pull request #8 from doocs/master

merger
pull/9/head
huifer 5 years ago committed by GitHub
commit 7a1099b608
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,9 +1,9 @@
最近在看 SpringAOP 部分的源码,所以对 JDK 动态代理具体是如何实现的这件事产生了很高的兴趣,而且能从源码上了解这个原理的话,也有助于对 spring-aop 模块的理解。话不多说,上代码。 最近在看 SpringAOP 部分的源码,所以对 JDK 动态代理具体是如何实现的这件事产生了很高的兴趣,而且能从源码上了解这个原理的话,也有助于对 spring-aop 模块的理解。话不多说,上代码。
```java ```java
/** /**
* 一般会使用实现了 InvocationHandler 的类 作为代理对象的生产工厂, * 一般会使用实现了 InvocationHandler接口的类 作为代理对象生成工厂,
* 并且通过持有被代理对象 target在 invoke() 方法中对被代理对象的目标方法进行调用和增强, * 并且通过持有被代理对象 target在 invoke() 方法中对被代理对象的目标方法进行调用和增强,
* 这些我们都能通过下面这段代码看懂但代理对象是如何生成的invoke() 方法又是如何被调用的呢? * 这些我们都能通过下面这段代码看懂但代理对象是如何生成的invoke() 方法又是如何被调用的呢?
*/ */
public class ProxyFactory implements InvocationHandler{ public class ProxyFactory implements InvocationHandler{
@ -37,7 +37,6 @@ public class TargetObject implements MyInterface {
@Override @Override
public void play() { public void play() {
System.out.println("妲己,陪你玩 ~"); System.out.println("妲己,陪你玩 ~");
} }
} }

@ -1,7 +1,9 @@
接着上一篇的 BeanDefinition 资源定位开始讲。Spring IoC 容器 BeanDefinition 解析过程就是把用户在配置文件中定义好的 bean解析并封装成容器可以装载的 BeanDefinitionBeanDefinition 是 spring 定义的基本数据结构,也是为了方便对 bean 进行管理和操作。 接着上一篇的 BeanDefinition 资源定位开始讲。Spring IoC 容器 BeanDefinition 解析过程就是把用户在配置文件中定义好的 bean解析并封装成容器可以装载的 BeanDefinitionBeanDefinition 是 spring 定义的基本数据结构,也是为了方便对 bean 进行管理和操作。
PS可以结合我 GitHub 上对 spring 框架源码的阅读及个人理解一起看,会更有助于各位开发大佬理解。 PS可以结合我 GitHub 上对 spring 框架源码的阅读及个人理解一起看,会更有助于各位开发大佬理解。
spring-beans https://github.com/AmyliaY/spring-beans-reading spring-beans https://github.com/AmyliaY/spring-beans-reading
spring-context https://github.com/AmyliaY/spring-context-reading spring-context https://github.com/AmyliaY/spring-context-reading
## 1、先看一下 AbstractRefreshableApplicationContext 中 refreshBeanFactory() 方法的 loadBeanDefinitions(beanFactory) ## 1、先看一下 AbstractRefreshableApplicationContext 中 refreshBeanFactory() 方法的 loadBeanDefinitions(beanFactory)

Loading…
Cancel
Save