spring两大特性-IOC(控制反转)理解

文章介绍了Spring框架中的控制反转(IoC)概念,涉及对象何时创建、由谁创建以及属性如何赋值的过程。对比非Spring情况下手动操作,Spring通过依赖注入简化了代码,减轻了程序员负担,专注于业务逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

细化:

  • 什么是控制?控制了什么?
  • 什么是反转?反转之前是谁控制的?反转之后谁控制的?如何控制?
  • 为什么要反转?反转之前有何问题?反转之后有何好处?

解答:

  • 什么是控制?控制了什么?

在使用spring的时候,我们通常会简历一些类,例如DeptService、StaffService,然后用一些注解例如:@Autowired等注解。

在程序运行时,用的具体的DeptService对象、StaffService对象,这些对象是什么时候创建的?谁创建的,包含对象中的属性是什么时候赋值?谁赋的值?这些都是spring帮我们处理的。

这就是控制。spring控制对象的创建、控制对象内属性的赋值。

  • 什么是反转?反转之前是谁控制的?反转之后谁控制的?如何控制?

如果我们不用spring,则我们需要去创建对象及对对象进行赋值,这就是反转,表示一种对象控制权的反转。

  • 为什么要反转?反转之前有何问题?反转之后有何好处

假设有三个类:A、B、C,其中A、B中包含了C属性。如果不用spring 需要进行创建赋值需要以下五行代码,若有更多的类及更多属性,则需要写更多的创建及赋值逻辑,这样加重了程序员的负担,交于spring后程序员则可以值倾向于处理业务逻辑。

A a = new A(); 
B b = new B(); 
C c = new C();
a.c = c;
b.c = c;

总结:

Ioc表示控制反转,若使用spring,则会通过spring来负责对象的创建及属性的赋值,那么对象的控制权则交于spring。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zbqice007

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值