Spring IoC 依赖来源
依赖查找的来源
查找来源
来源 | 配置元数据 |
---|---|
Spring BeanDefinition | <bean id ="user" class="xxx.xxx.User"> |
@Bean public User user() {...} |
|
BeanDefinitionBuilder |
|
单例对象 | API 实现 |
...大约 2 分钟
查找来源
来源 | 配置元数据 |
---|---|
Spring BeanDefinition | <bean id ="user" class="xxx.xxx.User"> |
@Bean public User user() {...} |
|
BeanDefinitionBuilder |
|
单例对象 | API 实现 |
DI,是 Dependency Injection 的缩写,即依赖注入。依赖注入是 IoC 的最常见形式。依赖注入是手动或自动绑定的方式,无需依赖特定的容器或 API。
依赖注入 (Dependency Injection,简称 DI) 是一个过程,其中对象仅通过构造函数参数、工厂方法的参数或对象实例在构造或从工厂方法返回。然后容器在创建 bean 时注入这些依赖项。这个过程基本上是 bean 本身的逆过程(因此得名,控制反转),它通过使用类的直接构造或服务定位器模式自行控制其依赖项的实例化或位置。
使用 DI,代码更干净,当对象具有依赖关系时,解耦更有效。对象不查找其依赖项,也不知道依赖项的位置或类别。结果,您的类变得更容易测试,特别是当依赖关系在接口或抽象基类上时,它们允许在单元测试中使用存根或模拟实现。