IOC

spring 的IOC (inversion of control):控制反转,对于这句话的理解,相信很多即使是用spring 1到2年的开发人员,都不一定能够说得很明白,今天,我想救我的理解,说明下,IOC具体指的是什么,IOC能干什么。

IOC : 是一种责任反转的设计思路。

public class Work{
    private Tool tool;
    private List<Work> works;
    ...
}

工作类中,有两个属性 一个是工具,一个是工人列表。 正常情况下,我们在使用这个类的时候,是需要自己去组装tool对象以及works列表的,这种编写代码的方式大致如下。

@Test
public void test(){
    Work w = new Work();
    Tool t = fetchTool...;
    w.setTool(t);
    List<work> works = ..
    w.setWorks(works);
    // now we can use our work object . w
}

上面的编写方式会导致我们写的代码出现即为浓厚的耦合度。并且并不十分整洁和利于阅读。

那么现在使用spring IOC容器,来帮助我们实现对Work对象的使用。

@Repository
public class Work{
    @autowired
    private Tool tool;
    @autowired
    private List<Work> works;
    ...
}


----------

@autowired
private Work w;
@Test
public void test(){
    // now we can use work right now. 
}

通过这两种创建work对象的对比我们可以很清晰的看到,对象的创建从我们主动去完成,变成了几本不用我们去完成。将创建对象的责任交给了IOC容器帮助我们完成。 控制反转,反转的是责任,责任从我们自己的手上转移到了IOC容器中跟,
从而完成了编码的解藕。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值