Spring IOC学习笔记

  1. 分享一下对Spring框架的IOC的理解
  • What (IOC容器是什么)

Ioc—Inversion of Control(控制反转),是一种设计思想,在面向对象方法设计的系统中,要形成一定的业务逻辑,要靠N个对象之间的合作。我们常常接触到的BeanFactoryApplicationContext都可以看成是容器的具体表现形式。在学习spring之前,希望要学习好设计模式。至少了解到常用的设计模式:工厂模式,单例模式,代理模式,模板模式,适配器模式。了解到软件架构的原则:开闭原则,依赖倒置原则,单一原则,接口原则......这些贯穿学习spring的重要思想。

  • why(为什么要用)

例如没有用到IOC容器前:一个客户想要去找公司开发一个业务,首先他要找到一个公司对象,再去选择要办理的业务

                               

这样看起来行得通,但是,如果要找多个公司做业务(多个对象),或者要修改某个公司的业务(修改对象的方法)。那么就要修改非常多的代码。不符合降低系统之间、模块之间和对象之间的耦合度。给开发带来许多麻烦。

所以,引入IOC容器后:客户直接从IOC容器获取公司名称:IOC容器就要找到公司,在看公司是否有业务可以做。有业务就要创建一个业务类。再注入公司名称。

                                             

结论:控制反转IoC(Inversion of Control)是说创建对象的控制权进行转移,以前创建对象的主动权和创建时机是由自己把控的,而现在这种权力转移到第三方,比如转移交给了IoC容器。没有IOC,客户要谈一个业务,就要先找到公司,再去利用公司去找到业务。在这个过程中,这个合作对象是由自己主动创建出来的,创建合作对象的主动权在自己手上,自己需要哪个合作对象,就主动去创建,创建合作对象的主动权和创建时机是由自己把控的,而这样就会使得对象间的耦合度高了。公司与业务就存在了依赖,存在一种耦合关系,并且是紧密耦合在一起。利用了IOC容器:依赖关系就变了,原先的依赖关系就没了,它们都依赖IoC容器了,通过IoC容器来建立它们之间的关系。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值