# spring-learn **Repository Path**: beiwei/spring-learn ## Basic Information - **Project Name**: spring-learn - **Description**: spring学习 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-26 - **Last Updated**: 2025-05-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 一 IOC ## 1. Bean的定义、注册、解析 ## 2. Cglib实现含构造函数的类实例化策略 ## 3. 注入属性和依赖对象 (先不解决循环依赖) ## 4. 资源加载器解析文件注册对象 ## 5. 实现应用上下文 ## 6. 初始化和销毁方法 ## 7. Aware感知容器对象 ## 8. 对象作用域和FactoryBean ## 9. 容器事件和事件监听器 ## 10. 编程方式注册额外的BeanDefinition (ImportBeanDefinitionRegistrar) # 二 AOP ## 1. 基于JDK和Cglib实现AOP切面 ## 2. 把AOP扩展到生命周期 ## 3. 自动扫描Bean对象注册 ## 4. 通过注解注入属性信息 ## 5. 代理对象设置属性值 # 三 三级缓存解决循环依赖 # 四 总结 1. 资源定义、资源加载、资源解析 2. BeanDefinition的解析并注册 3. 实例化、初始化赋值属性、执行初始化方法 4. 钩子有2大类:Aware感知、FactoryBeanPostProcessor、BeanPostProcessor 后置处理器 AOP、部分Aware、注解等能力都是通过2种后置处理器,一个是修改Bean定义的,一个是 # 五 备注 目前还未融入 springmvc、springboot、springcloud等能力,以及事务注解的传播机制等,只实现了最基本的AOP和IOC