Spring之DI简述

本文简述了Spring框架的依赖注入(DI)原理,解释了DI是如何通过构造函数和setter方法实现对象创建与属性赋值的。内容包括XML配置文件中的对象构造、构造函数的类型、以及setter方法在DI中的角色。通过代码示例展示了setter方法DI的过程,强调了使用setter方法DI时类必须具有默认构造函数的重要性,并指出在XML配置文件中bean的id必须唯一。
摘要由CSDN通过智能技术生成

Spring的依赖注入原理,我的理解为:在xml配置文件中,“构造”对象。用引号的原因在于,在这里并不是真正的构造。只有当我们通过ApplicationContext来加载xxx.xml文件时,这些类的对象才会被真正构造。

然而,如何构造呢?简单的来说,Spring通过调用类的构造函数进行构造。构造函数大体分两种:默认构造函数与带参数的构造函数。也就是说,Spring中通过依赖注入来构建对象的最终方法依旧是通过:类的构造函数来完成,与我们手工通过new来构造对象,并没有什么不同。

Spring的DI大体分为两种:显示构造函数DI与setter方法DI。等等,不是说,都要用构造函数(反射除外)来构造对象吗?setter方法也可以构造对象?

首先,setter方法不能构造对象,它只能修改对象的属性而已。那为什么Spring存在setter方法DI呢?其实,当采用setter方法DI时,Spring先调用的类的默认构造函数,先生成一个对象,然后调用该对象的setter方法,来修改对象的属性值。所以,采用setter方法DI时,该类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值