- 博客(5)
- 资源 (4)
- 收藏
- 关注
原创 白话Spring源码(十四):Spring Context源码分析-事件机制
这篇博客主要给大家介绍ApplicationContext的另外一个核心功能:事件机制。为什么要使用事件机制?使用事件机制可以解耦代码,观察者与被观察者可以分开开发,中间只有事件作为联系,不用关心另一方如何实现。观察者可以有多个,所以对于同一个事件可以有多种不同的处理方式,不过要确保不依赖处理的顺序。使用事件后,观察者可以单独开发,对主流程没有任何影响,可以简化主流程的开发。事件可以用...
2019-04-22 22:30:19 317
原创 白话Spring源码(十三):Spring Context源码分析
前几篇博客给大家介绍了Spring框架的IOC和AOP的源码,那怎么把这两个核心组件连接起来对外提供更好用的接口呢?这时context包里的ApplicationContext就登场了。简单使用我们先看个ApplicationContext使用的demo:ClassPathXmlApplicationContext context=new ClassPathXmlApplicatio...
2019-04-22 21:15:39 797
原创 白话Spring源码(十二):Spring AOP源码分析-拦截器链的执行过程
上篇博客我们介绍了创建代理对象:白话Spring源码(十一):Spring AOP源码分析-创建代理对象。现在我们的得到了 bean 的代理对象,且通知也以合适的方式插在了目标方法的前后。接下来要做的事情,就是执行通知逻辑了。通知可能在目标方法前执行,也可能在目标方法后执行。具体的执行时机,取决于用户的配置。当目标方法被多个通知匹配到时,Spring 通过引入拦截器链来保证每个通知的正常执行。在本...
2019-04-14 18:20:55 528
原创 白话Spring源码(十一):Spring AOP源码分析-创建代理对象
上篇博客:白话Spring源码(十):Spring AOP源码分析-筛选合适的通知器分析了 Spring 是如何为目标 bean 筛选合适的通知器的。现在通知器选好了,接下来就要通过代理的方式将通知器(Advisor)所持有的通知(Advice)织入到 bean 的某些方法前后。织入到 bean的原理是动态代理。那我们先了解一下动态代理:动态代理动态代理有两种实现方法:jdk动态代理,...
2019-04-14 13:36:18 441
原创 白话Spring源码(十):Spring AOP源码分析-筛选合适的通知器
上一篇博客介绍了AOP的相关概念:白话Spring源码(九):Spring AOP原理和相关概念。其实AOP的原理比较简单,但是里面的概念和抽象比较多,入口也藏得比较深。好了,我带大家从入口开始进去源码吧!要找到入口我们就必须搞清楚Spring AOP 是在何处向目标 bean 中织入通知(Advice)的。也说过 Spring 是如何将 AOP 和 IOC 模块整合到一起的,即通过拓展点 ...
2019-04-07 21:26:46 748 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人