spring
休息的风
工作,生活
展开
-
spring 源码学习笔记(三)—— spring aop
spring aop的实现,主要通过注册InstantiationAwareBeanPostProcessor处理器,在创建bean时判断是否需要增强。具体的注册在AbstractApplicationContext.registerBeanPostProcessors方法中将所有的BeanPostProcessor注册到容器的beanPostProcessors中。其中对aop增强主要的InstantiationAwareBeanPostProcessor处理器是AnnotationAwareAspect原创 2017-11-20 21:04:32 · 696 阅读 · 0 评论 -
spring 源码学习笔记(二)—— spring ioc 之依赖注入
上一篇spring系列博客spring 源码学习笔记(一)—— spring ioc 之加载XML转换为BeanDefinition讲到spring如何将xml文件转换为内存的数据结构。本篇博客将继续上篇博客,继续分析如何利用beanDefinition创建bean对象,并且对对象进行依赖注入。 下图是整个创建bean并依赖注入的过程:(看不清可右击在新页签进行查看)原创 2017-11-20 21:04:04 · 606 阅读 · 0 评论 -
spring 源码学习笔记(一)—— spring ioc 之加载XML转换为BeanDefinition
spring ioc容器的核心类是AbstractApplicationContext,入口方法是refresh。这个方法是个模板方法,定义了加载到容器的全部过程。本篇博客将分析,spring将xml配置文件加载到内存的一个过程。(著名的dubbo分布式框架也利用了spring加载xml的机制,定制自己的xml解析器将对象接入到ioc容器中。)大致过程为:创建beanFactory用于存放转换后的信息->读取文件到输入流中->读取输入流里的数据,用NamespaceHandler里注册的解析器处理返回Bea原创 2017-11-17 15:11:01 · 873 阅读 · 0 评论