Spring核心及设计思想

定义:Spring是包含了众多工具方法的IoC容器;(Spring Framework)

IoC(Inversion of Control),控制反转,Spring是一个“控制反转”的容器;

比如构建一个车类:车car-——车架framework——底盘bottom——轮毂tire

一般情况下,我们会先构建Tire类,然后构建Bottom类,当Bottom中需要Tire时,在Bottom构造方法中new Tire,并初始化,同样的在构造车架类和车类;

 在以上程序中,汽车的样式固定的,可以说,当我们需要一个轮子大小为15,颜色为红色的汽车时,轮子的大小我们可以直接改成15,但是颜色为红色,我们似乎无法直接修改,我们需要在Tire类中添加颜色变量,并且因为是在Bottom中new Tire的,此间的关系是强耦合的,也就是Bottom类是控制着Tire类的,就需要对Bottom代码进行必要的修改,同理,Framework,Car的代码都需要修改,这里还好,但是一般的业务代码比这关系复杂的多,若是客户不断的修改需求,那所有的代码都要跟着修改,实在是麻烦很多,此时IoC控制反转的思想就显得尤为重要;

我们可以尝试不在每个类中自己创建下级类,如果自己创建下级类就会出现当下级类发生改变操作,自己也要跟着修改。此时,我们只需要将原来由自己创建的下级类,改为传递的方式(也就是注入的方式),因为我们不需要在当前类中创建下级类了,所以下级类即使发生变化(创建或减少参数),当前类本身也无需修改任何代码,这样就完成了程序的解耦。

 

 通过以上调整,采用注入的方式,无论底层类如何变化,整个调⽤链是不⽤做任何改变的,这样就完成了代码之间的解耦,使程序之间更加通用;

这样再回头看Spring的定义,是一个IoC容器,则具备最重要的两个功能:存对象,取对象;对象的创建和销毁的权利都交给 Spring 来管理了,它本身⼜具备了存 储对象和获取对象的能⼒。

DI: Dependency Injection,所谓依赖注⼊,就是由 IoC 容器在运⾏期间,动态地将某种依赖关系注⼊到对象之中。所以,依 赖注⼊(DI)和控制反转(IoC)是从不同的⻆度的描述的同⼀件事情,就是指通过引⼊ IoC 容 器,利⽤依赖关系注⼊的⽅式,实现对象之间的解耦。

IoC 是“目标”也是⼀种思想,而目标和思想只是⼀种指导原则,最终还是要有可行的落地方案,而 DI 就属于具体的实现

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值