mini-spring 关于 mini-spring是简化版的spring框架,能帮助你快速熟悉spring源码和掌握spring的核心原理。抽取了spring的核心逻辑,代码极度简化,保留spring的核心功能,如IoC和AOP、资源加载器、事件监听器、类型转换、容器扩展点、bean生命周期和作用域、应用上下文等核心功能。 如果本项目能帮助到你,请给个STAR,谢谢!!! 功能 基础篇 IoC 实现一个简单的容器 BeanDefinition和BeanDefinitionRegistry Bean实例化策略InstantiationStrategy 为bean填充属性 为bean注入bean 资源和资源加载器 在xml文件中定义bean 容器扩展机制BeanFactoryPostProcess和BeanPostProcessor 应用上下文ApplicationContext bean的初始化和销毁方法 Aware接口 bean作用域,增加prototype的支持 FactoryBean 容器事件和事件监听器 AOP 切点表达式 基于JDK的动态代理 基于CGLIB的动态代理 动态代理融入bean生命周期 扩展篇 PropertyPlaceholderConfigurer 类型转换 包扫描 基于注解的依赖注入Autowired 高级篇 解决循环依赖问题 使用方法 每个功能点对应一个分支,切换到功能点对应的分支了解新增的功能,增量改动点在changelog.md文件中描述。 参考 《Spring源码深度解析》 《精通Spring 4.x》 tiny-spring