Spring四种DI依赖注入

Dependency Injection称为依赖注入,简称DI(在Spring创建对象时为其赋予属性值)

组件之间依赖关系由容器在运行期决定,是由容器动态的将某个依赖关系注入到组件之中

注入方式

Setter方式注入

只需提供对应的Setter方法实现注入,JavaBean对象一般都实现了Setter方法所以较常用

构造方法注入

创建对象时Spring工厂会通过构造方法为对象的属性赋值,针对于没提供Setter方法的JavaBean

自动注入

不需要在配置中指定为哪个属性赋值,由Spring自动根据某个原则在工厂中查找Bean为其注入属性值

自动注入的两种方式:

基于名称自动注入

基于类型自动注入 (根据实现的接口来判断并自动注入值,如果不成功则以接口实现类的名称相同为准则实现注入)

注解自动注入

@Autowired  基于类型自动注入

@Resource  基于名称自动注入

@Qualifier("***")  限定要注入bean的id,一般与@Autowired联用

@Value  注入简单类型数据,jdk1.8时支持基本数据类型 + String类型

总结来说DI就是把咱们的资源反转给了Spring,应用程序需要资源要向Spring去要

控制反转的目的就是要实现高内聚 + 低耦合

Spring的Ioc可以理解为就是DI

猜你喜欢

转载自blog.csdn.net/m0_46357303/article/details/121375387