IOC容器的设计
容器的基本组成和实现
启动容器
类路径下查找配置文件来实例化容器
使用注解Config来实例化容器
在文件系统下寻找配置文件实例化容器
Spring容器内部对象的创建
调用实例工厂来实例化
调用无参构造器
静态工厂
一、管理Bean(BeanFactory)
Bean的创建
Bean的存储
Bean的获取
自动完成依赖的检测与注入
依赖注入
使用构造器注入
使用属性Set方法进行注入
使用工厂方法进行注入
自动生成Bean
获取Bean的定义(BeanDefinition)
二、Bean的定义(BeanDefinition)
Bean的属性(id,name,scope,className,parent,kazyInit,Depends)
Bean的定义存储 XML,properties
三、装载解析BeanDefinitionReader
加载XML文件流
转换为Document
解析Document element 解析BeanDefiniton
注册BeanDefinitionRegistry
四、SpringAOP设计原理
JAVA Proxy
Proxy
InvocationHandler
ProxyClassFactory
ProxyGenerator
Cglib Proxy
Enhance
MethodInterceptor
面向切面编程
Aspect切面
Advice通知
Pointcut切入点
JointPoint连接点
Target目标对象
ProxyFactory
AopProxy
JdkDynamicAopProxy
Cglib2AopProxy
拦截和织入
Advice
Interceptor
AOP定义组件
ProxyConfig
AdvisedSupport
AspectJproxyFactory
ProxyFactory
ProxyFactoryBean
AOP源码分析
@EnableAspectJAutoProxy
AnnotationAwareAspectJAutoProxyCreator
注册AnnotationAwareAspectJAutoProxyCreator
AnnotationAwareAspectJAutoProxyCreator执行时机
创建AOP代理
获取拦截器链-MethodInterceptor
链式调用通知方法