Spring笔记整理-依赖注入和控制反转

依赖注入(DI)

 

 

以小汽车为例展示依赖注入问题

要制作一辆小汽车,如果要从下而上做的话,要先做轮子,然后做地盘,轮子大小约束底盘大小,做完了底盘最后再做车架,而底盘又约束车架的大小。

假设一开始轮子尺寸为15,后来业务需求要把轮子增大到25。那么底盘和车架的尺寸也要重新去设计。这样就会导致一个问题:一个小小的改动就会导致整体的修改。耦合度太高。

public class Wheel{

private int size;

Wheel(int size){

this.size = size;

}

}

 

public class Chassis{

private int wheel;

Chassis(int size){

wheel = new Wheel(size);

}

}

 

public class Car{

private int Chassis chassis;

Car(int size){

chassis= new Chassis(size);

}

public void finish(){

log.info("new car");

}

}

Car car = new Car();

car.finish();

如果size改变,后面的类的size全都要变,这里三个类就要改三个,如果十个类,就要改十个。会很麻烦。

使用依赖注入实现控制反转,即上层控制下层

把底层的类作为参数传递给上层类,实现上层对下层的控制

代码要改成这样,但是还是要new很多对象

IOC容器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值