IoC

首先要明确IoC能解决什么样的问题,它解决的是类之间的关联关系的问题。

IoC是整个Spring框架最底层最核心的部分,SpringBoot是最表面的部分

当对象之间有关联关系时,比如A对象的属性有B对象,那么正常的做法是创建者原则,即A对象去创建B对象,然后跟自己关联。
控制反转说的就是A不去控制B的创建和建立耦合的过程,把权限交给了别人。因此一定要提供一种方法来让外部完成这件事:

  • 构造方法,比如A a = new A(B b),这样就建立了关联
  • set方法,比如A.setB(b)

控制反转和依赖注入是一回事。

IoC的另一个好处是方便测试(切片测试)

Spring框架是如何实现控制反转和依赖注入的?

所有对象都是由容器来建的(和Servlet相似),我们写的业务代码类都叫业务对象,或者Spring的Bean对象,也有叫POJO对象的(Plain Ordinary Java Object)。

这些类都是解耦的,由外部通过构造方法或者set方法传参,那么具体传什么是写在配置数据里的。(注解)

posted @ 2022-12-02 21:56  antidogmatist  阅读(97)  评论(0)    收藏  举报