随笔分类 -  spring源码分析

摘要:在上一篇文章 spring AOP源码分析(二)中,我们已经知道如何生成一个代理对象了,那么当代理对象调用代理方法时,增强行为也就是拦截器是如何发挥作用的呢?接下来我们将介绍JDK动态代理和cglib这两种方式下,拦截器调用的实现。 一 JDK动态代理拦截器调用的实现: 我们知道,在生成代理对象时, 阅读全文
posted @ 2018-08-15 17:24 51life 阅读(1217) 评论(0) 推荐(0)
摘要:现在,我们将对代理对象的生成过程进行分析。 在spring AOP源码分析(一)的例子中,将会生成哪些对象呢? 可以看到将会生成六个对象,对应的beanName分别是: userDao:目标对象 logger:定义的切面 InternalAutoProxyCreator:用来生成代理对象的后置处理器 阅读全文
posted @ 2018-07-04 16:50 51life 阅读(1506) 评论(0) 推荐(0)
摘要:BeanPostProcessor的作用是在调用初始化方法的前后添加一些逻辑,这里初始化方法是指在配置文件中配置init-method,或者实现了InitializingBean接口的afterPropertiesSet方法,注意不包括@PostConstruct这种初始化方式。可以看源码Abstr 阅读全文
posted @ 2018-07-02 16:36 51life 阅读(615) 评论(0) 推荐(0)
摘要:对于springAOP的源码分析,我打算分三部分来讲解:1.配置文件的解析,解析为BeanDefination和其他信息然后注册到BeanFactory中;2.为目标对象配置增强行为以及代理对象的生成,可以理解为AOP的准备阶段;3.代理对象调用方法,增强行为的触发执行,此时是AOP生效的阶段。我们 阅读全文
posted @ 2018-06-29 13:43 51life 阅读(4207) 评论(2) 推荐(0)
摘要:在上一篇文章中,我们以BeanFactory这条主线进行IOC的源码解析的,这里,将以ApplicationContext这条线进行分析。先看使用方法: 进入ClassPathXmlApplicationContext类 进入refresh方法 1.解析注册BeanDefination 进入obta 阅读全文
posted @ 2018-06-19 17:06 51life 阅读(468) 评论(0) 推荐(0)
摘要:启动spring容器加载bean的方式有两种:最基本的容器BeanFactory和高级容器ApplicationContext。这篇文章介绍使用BeanFactory加载bean时的整个过程,当然,ApplicationContext是基于它进行了高级特性的扩展。 一.BeanFactory的使用方 阅读全文
posted @ 2018-06-14 17:10 51life 阅读(621) 评论(0) 推荐(0)