第六章:Spring IoC 注入(1)

1. 依赖注入的模式和类型

手动模式 - 配置或者编程的方式,提前安排注入规则
• XML 资源配置元信息
• Java 注解配置元信息
• API 配置元信息
自动模式 - 实现方提供依赖自动关联的方式,按照內建的注入规则
• Autowiring(自动绑定)
第六章:Spring IoC 注入(1)

2. 自动绑定(Autowiring)

官方说明:
The Spring container can autowire relationships between collaborating beans. You can let Spring
resolve collaborators (other beans) automatically for your bean by inspecting the contents of the
ApplicationContext.
优点:
• Autowiring can significantly reduce the need to specify properties or constructor arguments.
• Autowiring can update a configuration as your objects evolve.

3. 自动绑定(Autowiring)模式

第六章:Spring IoC 注入(1)

4. 自动绑定(Autowiring)限制和不足

5. Setter 方法依赖注入

实现方法:
• 手动模式
• XML 资源配置元信息
• Java 注解配置元信息
• API 配置元信息
• 自动模式
• byName
• byType

6. 构造器依赖注入

实现方法:
• 手动模式
• XML 资源配置元信息
• Java 注解配置元信息
• API 配置元信息
• 自动模式
• constructor

7. 字段注入

实现方法:
• 手动模式
• Java 注解配置元信息
• @Autowired
• @Resource
• @Inject(可选)

8. 方法注入

实现方法
• 手动模式
• Java 注解配置元信息
• @Autowired
• @Resource
• @Inject(可选)
• @Bean

9. 回调注入

Aware 系列接口回调
• 自动模式
第六章:Spring IoC 注入(1)
第六章:Spring IoC 注入(1)

10. 依赖注入类型选择

注入选型
• 低依赖:构造器注入
• 多依赖:Setter 方法注入
• 便利性:字段注入
• 声明类:方法注入