依赖注入的模式和类型
- 手动
- Xml资源配置元信息
- Java注解配置元信息
- @Bean
- @Autowired
- API配置元信息
- 自动
- Autowiring
- 类型
- No : 默认值,未激活自动绑定,需要手动指定依赖注入
- byName: 根据被注入属性的名称做为Bean名称进行依赖查找,并将对象设置到该属性
- byType: 根据被注入属性的类型做为依赖类型进行查找,并将对象设置到该属性
- constructor: 特殊的byType,用于构造器参数
xml 资源配置元信息
1 | <bean id="" name="" class=""> |
依赖注入类型 | 示例 |
---|---|
set | <property name=”user” ref=”userBean”/> |
构造器 | <constructor-arg name=”user” ref=”userBean”/> |
字段注入 | @Autowired User user; |
方法注入 | @Autowired public void user(User user){} |
回调注入 | class MyBean implements BeanFactoryAware{} |
依赖注入选择
基础类型注入
集合类型注入
限定注入
延迟依赖注入
依赖处理过程
@Autowired 注入原理
JSR-330@inject注入原理
Java通用注解注入原理
自定义依赖注解
自动绑定
模式
限制和不足
题目精选