Spring(06)IOC 依赖注
Spring 核心编程思想目录:https://www.cnblogs.com/binarylei/p/12290153.html
1. 依赖注入的模式和类型
1.1 依赖注入模式
- 手动模式- 配置或者编程的方式,提前安排注入规则
- XML 资源配置元信息
- Java 注解配置元信息
- API 配置元信息
- 自动模式- 实现方提供依赖自动关联的方式,按照內建的注入规则
- Autowiring(自动绑定):no、byName、byType、constructor
1.2 依赖注入类型
Setter 方法 |
<proeprty name="user" ref="userBean" /> |
构造器 |
<constructor-arg name="user" ref="userBean" /> |
字段 |
@Autowired User user; |
方法 |
@Autowired public void user(User user) { ... } |
接口回调 |
class MyBean implements BeanFactoryAware { ... } |
2. 自动绑定(Autowiring)
3. 自动绑定(Autowiring)模式
no |
默认值,未激活Autowiring,需要手动指定依赖注入对象 |
byName |
根据被注入属性的名称作为Bean 名称进行依赖查找,并将对象设置到该属性 |
byType |
根据被注入属性的类型作为依赖类型进行查找,并将对象设置到该属性 |
constructor |
特殊byType 类型,用于构造器参数 |
参考枚举:org.springframework.beans.factory.annotation.Autowire
4. 自动绑定(Autowiring)限制和不足
https://docs.spring.io/spring/docs/5.2.2.RELEASE/spring-framework-reference/core.html#beans-autowired-exceptions
5. Setter 方法依赖注入
- 手动模式
- XML 资源配置元信息
- Java 注解配置元信息
- API 配置元信息
- 自动模式
6. 构造器依赖注入
- 手动模式
- XML 资源配置元信息
- Java 注解配置元信息
- API 配置元信息
- 自动模式
7. 字段注入
- 手动模式 - Java 注解配置元信息
- @Autowired
- @Resource
- @Inject(可选)
8. 方法注入
- 手动模式 - Java 注解配置元信息
- @Autowired
- @Resource
- @Inject(可选)
- @Bean
9. 回调注入
10. 依赖注入类型选择
11. 基础类型注入
12. 集合类型注入
13. 限定注入
14. 延迟依赖注入
15. 依赖处理过程
16. @Autowired 注入原理
17. JSR-330 @Inject 注入原理
18. Java 通用注解注入原理
19. 自定义依赖注入注解
20. 面试题精选
Spring(06)IOC 依赖注
原文:https://www.cnblogs.com/binarylei/p/12308201.html