spring IOC是什么

IOC:Inversion Of Control,即控制反转,是一种设计思想。

在传统的Java SE程序设计中,我们直接在对象内部通过new的方式来创建对象,是程序主动创建依赖对象;

图片[1]-spring IOC是什么-不念博客

而在Spring程序设计中,IOC是有专门的容器去控制对象。

图片[2]-spring IOC是什么-不念博客

所谓控制就是对象的创建、初始化、销毁。

  • 创建对象:原来是 new 一个,现在是由 Spring 容器创建。
  • 初始化对象:原来是对象自己通过构造器或者 setter 方法给依赖的对象赋值,现在是由 Spring 容器自动注入。
  • 销毁对象:原来是直接给对象赋值 null 或做一些销毁操作,现在是 Spring 容器管理生命周期负责销毁对象。

总结:IOC解决了繁琐的对象生命周期的操作,解耦了我们的代码。

所谓反转

其实是反转的控制权,前面提到是由Spring来控制对象的生命周期,那么对象的控制就完全脱离了我们的控制,控制权交给了Spring 。

这个反转是指:我们由对象的控制者变成了IOC的被动控制者。

© 版权声明
THE END