Spring框架—IOC容器概述(一)

IOC:控制反转(Inversion of Control),它是一种思想,主要目的就是将对象的控制权由开发人员变为程序本身,让程序来管理对象的创建、销毁(生命周期),开发人员直接使用由容器管理的对象即可,不需要手动的创建对象。

一、IOC(控制反转)

1.1 控制

控制就是对象的创建过程由开发人员来管理,比如

Object obj = new Object();

这个obj对象开发人员想在类加载时创建或任何时候创建都可以,对象的创建过程完全由开发人员掌控。

1.2 反转

将对象的控制权力由开发人员转交给IOC容器(程序本身)去管理,不需要再由开发人员手动的创建对象。

1.3 使用IOC前

没有IOC容器之前,我们想使用一个对象之前,必须要手动创建(new)一个对象之后才可以使用,这种创建方式耦合度非常高。在这里插入图片描述

1.4 使用IOC后

在使用IOC容器之后,当我们想使用一个对象时,直接在IOC容器中获取这个对象的实例就可以直接使用这个对象,减少了手动创建对象这一过程,大大简化了开发的过程,同时也实现了解耦。
在这里插入图片描述

二、DI(依赖注入)

IOC是一种思想,在Spring中,IOC思想的具体实现就是DI。

2.1 依赖

一个类中引入了另一个类的对象作为属性时就是依赖


  class Department{
      private Integer did;
      private String dname;
  }
   class Employee{
       private Integer eid;
       private String ename;
       private Department depart; // 依赖
   }

2.2 注入

为一个属性赋值,在Spring中就叫做注入。

    // 基本数据类型
    int a = 0;
    // 引用数据类型
    Object o1 = new Object();

以上这些在Spring中都可以称之为注入

三、Spring中的DI

如果想在Employee对象中使用Department对象,没有Spring时,我们需要手动new一个Department对象,这样Employee类紧紧依赖着Department类,也就是他们之间耦合度非常高。在使用Sprting框架后,通过简单的配置或注解,框架自动的帮我们创建一个Department对象,放入到IOC容器中,在程序中有依赖着Department对象的代码中,会自动的注入Department对象(自动的为对象赋值),至于Spring框架是如何生成Department对象,怎么生成的,依赖着Department对象的类不需要关心,只需要知道现在可以使用就这个对象就好了。这样Employee类不完全依赖Department类,对象的创建完全依赖IOC容器,实现了解耦操作。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值