手写Spring框架,目前已实现:
- Bean的定义、注册、获取、属性注入、依赖解析
- 读取xml配置文件
- 反射和Cglib实现构造函数类实例化策略
- 应用上下文
- 初始化和销毁方法,分为接口和配置两种方式
- Aware感知功能
- FactoryBean代理
- 容器事件和监听
- 基于JDK和Cglib实现AOP并扩展到Bean生命周期
- 自动扫描Bean并注册
- @Component, @Value, @Autowaired, @Qualifier, @Scope注解功能
- 在Bean实例化后进行代理,给代理对象设置属性值
- 三级缓存解决循环依赖