第二章:重新认识 IoC
IoC主要实现策略:
- 依赖查找、依赖注入
(1)服务定位模式
(2)依赖注入:构造器注入、参数注入、Setter注入、接口注入
(3)上下文依赖查询
(4)模板方法设计模式
(5)策略设计模式
IoC 容器的职责:
- 通用职责
- 依赖处理
- 依赖查找
- 依赖注入
- 生命周期管理
- 容器
- 托管的资源(Java Beans 或其他资源)-- 比如说spring的事件监听,可以关联其他事件的开始或者变更
- 配置
- 容器 -- 定时任务
- 外部化配置 -- 属性配置,xml配置
- 托管的资源(Java Beans 或其他资源)-- 对线程池进行配置
依赖查找和依赖注入的区别?
- 依赖查找是主动或手动的依赖查找方式,通常需要依赖容器或标准 API 实现。而依赖注入则是手动或自动依赖绑定的方式,无需依赖特定的容器和API。
构造器注入 vs setter注入
面试题
1、什么是IOC?
2、依赖查找和依赖注入的区别?
3、Spring 作为 IoC 容器的优势:
- 典型的 IoC 管理,依赖查找和依赖注入
- AOP 抽象
- 事务抽象
- 事件机制
- SPI 扩展
- 强大的第三方整合
- 易测试性
- 更好的面向对象