IOC是什么

ioc,全称是Inversion of Control,字面理解叫控制反转。既然叫控制反转,那就是原来谁控制,后面转给了谁。

那着手点先从原来的“控制正转”切入,在oop中,操作的都是object基本上都是实例化、赋值属性、接口调用等。

正常object基本上是这样的:

SimpleObject simpleObject = new SimpleObject();
simpleObject.setProp("prop");
System.out.println(simpleObject.getProp());

那么“控制反转”就是把对象的实例化、属性赋值等由“自己”交给“其他人”,再spring中类似这样:

<bean id="simpleObject" class="zhangq.github.study.ioc.SimpleObject">
    <property name="prop" value="prop" />
</bean>
ApplicationContext context = new ClassPathXmlApplicationContext("ioc/ioc.xml");
SimpleObject simpleObject = (SimpleObject) context.getBean("simpleObject");
System.out.println(simpleObject.getProp());

这两段代码操作结果都是:

1)实例化SimpleObject对象

2)赋值prop属性

3)输出prop属性

前者就是硬编码,后者就可以理解把动作交给某个代理来完成。

乍一看ioc有点不够直接,大神就提了个概念叫DI,即Dependency Injection-依赖注入

那么把ioc就是一种降耦合的设计思想,依赖注入当成是这种思想的一种实现就好了。

 

下一节:依赖注入的方式

转载于:https://www.cnblogs.com/zqyx/p/11024999.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值