Spring IoC与DI

什么是IoC

控制反转,是一种技术思想,不是技术实现只不过spring在技术层次把这个做了非常好的实现

作用:Java开发领域对象的创建、管理问题
传统开发 :比如类A依赖于类B,需要在类中new 一个类B的对象

IoC开发:开发人员不需要去new 的方式创建对象,而是Ioc容器帮助开发人员实例化对象并且管理它的生命周期,
需要使用哪个对象,去找Ioc窗口要(获取)即可

丧失了一个创建、管理对象的权利
不用考虑对象的创建、管理等事情

为什么叫控制反转?
控制:对象的创建(实例,管理)的权利
反转:控制权交了给Ioc容器(Spring等框架)
在这里插入图片描述

ICO解决了什么问题

主要对象之间的耦合问题
没有Ioc
UserService 实现类UserServiceImpl
UserDao 实现类UserDaoImpl
在UserServiceImpl中要调用UserDao 的方法

UserDao  userDao = new UserDaoImpl();

如果换了实现类,又要重要写一次
在这里插入图片描述

这样的方式

有Ioc
只需要
private UserDao userDao;
面像接口

IOC与DI的区别

DI:DESTINATION IMAGINATION 依赖注入
Ioc与Di描述的是同一个事情(对象实现化与依赖关系),只是角度不一样,

  • Ioc:站对象角度,对象实例化与管理交给了Ioc容器
  • DI:是站在容器的角度去看,容器会把对象1依赖的其它对象2,送到对象1中,(注入进去),比如A对象实例化时,需要一个B对象,容器会把B对象实例化后,注入到A对象中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值