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的动态代理 AOP代理工厂ProxyFactory 动态代理融入bean生命周期 扩展篇 PropertyPlaceholderConfigurer 类型转换 包扫描 基于注解的依赖注入Autowired 高级篇 解决循环依赖问题 使用方法 每个功能点对应一个分支,切换到功能点对应的分支了解新增的功能,增量改动点在changelog.md文件中描述。 参考 《Spring源码深度解析》 《精通Spring 4.x》 tiny-spring