(一)再识spring之IOC:概述和实现MyIoc

本文深入探讨了IOC(Inversion of Control)理论,解释了为何需要使用IOC来解决传统模式下的问题。接着,通过实现一个简单的MyIoc,展示了如何创建容器并分析了该实现的优点。
摘要由CSDN通过智能技术生成
一.IOC理论

1.什么是IOC:Invesion of Controller 控制反转,依赖注入,这两个是相辅相成,从不同角度去解释IOC这个概念

a.控制什么?
	控制对象的创建及销毁(生命周期)
b.反转什么?
	将对象的控制权交给Ioc容器

这边解释下为什么要使用ioc?
在传统模式下,被依赖的对象,要等依赖对象需要的时候再去创建,如图所示:
张三->回家,他首先需要一辆车,然后再左转右转回家
在这里插入图片描述
但是这样实现有什么问题?

a.张三需要的是一辆车,可能是奥迪,也可能是宝马
b.车子不应该是由张三来创建,可以用构造方法来创建,当然也可以使用我们的Ioc容器
c.高耦合性,张三更还车辆的代价是巨大的
二.代码实现属于自己的MyIoc
源码我这边放在gitee上,大家可以自行去看:
https://gitee.com/mk_dy/study-java/tree/develop/MyIoc
1.实例化bean
2.保存bean
3.提供bean
  • 下面是我要实现的类图
    在这里插入图片描述

  • 创建容器的核心代码

public class IocContainer {
   
    // 为什么是使用ConcurrentHashMap,用来存bean
    private Map<String, Object> beans = new
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值