IOC原理

IOC原理

  • 定义:控制反转,将底层类作为参数传递给上层类。传统是将上层类作为参数传给底层类。它是一种思想,不是一种技术,spring Core最核心的一部分。

  • 依赖注入(DI):

    • 举例:设计一个行李箱,先设计轮子,再根据轮子设计底盘,再根据底盘设计箱体。类依赖关系如上图所示,现在如果想要把size变成固定值为20,那么所有构造函数中的20都要去掉,这样一 改全改,那么这样工作量巨大,程序员一大部分经历都放在低级的修改上,不能专注于业务。现在引入依赖注入。
      在这里插入图片描述
      在这里插入图片描述
    • 定义:把底层类作为参数传递给上层类,实现上层对下层的控制。

    在这里插入图片描述
    在这里插入图片描述
    如果想把轮胎的尺寸设计成可变,那么这次只变轮胎部分代码即可,工作量大大减少。还有set和接口等诸如方法

  • IOC和DI、DL之间的关系
    在这里插入图片描述
    ​ 将底层类传给上层是一种初始化的方案,方式是通过依赖注入,体现了控制反转的思想。
    在这里插入图片描述

  • 注入方式:Setter、Interface、Constructor、Annotation

  • IOC容器具体创建实例的细节
    在这里插入图片描述

  • IOC整体原理
    在这里插入图片描述

  • IOC核心功能

    • 依赖注入

    • 自动装配:由于在手动配置xml过程中,常常发生字母缺漏和大小写等错误,而无法对其进行检查,使得开发效率降低。采用自动装配将避免这些错误,并且使配置简单化。

      <bean id="cat" class="com.hdu.autowire.Cat"></bean>
      <bean id="dog" class="com.hdu.autowire.Dog"></bean>
          
      <bean id="user" 
            class="com.hdu.autowire.User"
            autowire="byName">
      </bean>
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值