spring学习笔记-01-IOC与DI概述

前言

没什么好说的 引一句话: > 你是你自己最大的倚仗。

正文

IOC(Inversion of Control)

控制反转

核心思想是:反转资源获取的方向。 容器主动的将资源推送给它所管理的组件。组件只需要选择一种合适的方式来接受资源。

引用视频里的例子来讲:

以前要买菜,你得上街去买,IOC的思想则是你在院子里放个框,菜会自己蹦进来。

其实很好理解,之前是向某个组件发请求要资源,现在是资源自己过来。

DI(Dependecy Injection)

依赖注入

是IOC的另一种表达,组件以预定好的方式(比如getter和setter)接受来自容器的资源注入。

依赖组件注入。

小例子

IOC的前生 -- 分离接口与实现

一个service需要通过调接口来生成html或pdf报表。那我需要知道接口,还需要知道接口的具体实现的细节

IOC的前生 -- 采用工厂设计模式

使用工厂模式之后,不需要了解接口实现的细节,直接用工厂模式即可。

IOC -- 采用控制反转

使用规格好了的容器(装菜的篮子),,使用generator接口直接将资源注入给service


欢迎分享

码字不易,请我喝杯咖啡呗?