框架基础内容-Spring之IOC、DI

IOC(Inverse of control)是Spring的基础。

IOC,中文译为控制反转,通俗点说它的作用,就是改变了获取对象的方式。

以前学java,想要获得一个类的对象,必须使用new关键字,调用类的构造方法,然后获得返回的对象。
这样做的弊端其实很明显,第一,必须在指定包中存在已有类的已有构造器,否则编译不通过。
这一点之前学习反射时有学到过,反射机制可以解决这个弊端。

第二,如若需要更改对象或者类,则多处都需要进行更改,其实是由于new生成对象的方法耦合度高,不利于后期代码的扩展和维护。

解决这个弊端,或者说解耦的方法,就是控制反转,原本是程序员主动new,现在将构造对象的任务交给Spring框架完成。

Spring框架其实是工厂模式的实现。Spring是工厂,由它集中生产对象,并返回给需要调用对象的类。
这个过程是有框架控制的,所以称为控制反转。

工厂模式如何生产对象呢?
首先需要有一个接口,接口有不同的实现类,我们称这些实现类的对象为商品。再创建一个工厂类,工厂类中有一个获取商品的方法,向该方法中传入值,便返回对应的商品对象。这一整个过程称之为控制反转,生产对象的过程交给了工厂而非程序员。

DI(Dependency Inject),依赖注入,是一个和控制反转共存的概念。

当工厂生产对象时,也许需要同时对其中某些变量赋值,此过程,就是一个注入属性的过程。当获得返回的某一个对象时,其中的属性是已经被赋值的。此过程成为依赖注入。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值