学习记录[email protected] 控制反转和依赖注入的理解
我的理解
传统调用者调用被调用者:在调用者内new 被调用者,再使用其方法
控制反转:有一个单独的容器(spring)管理对象,需要对象,找容器要,不用自己创建了
依赖注入:其实是控制反转的另一种说法
传统做法
Spring
Spring的优点
将调用者和被调用者分离,各司其职,也就是解耦。
按照传统的做法,必须在内部创建被调用者对象,然后调用其方法,但是如果被调用者的代码改变,比如构造方法需要传入其他参数,那么调用者那里就需要改变new 传入的参数情况。
但是使用spring,只需要修改配置文件即可,调用者使用被调用者是不会改变的,因为真正管理和创建对象的是Spring。
有人可能想说,这不还是要修改配置文件吗,事实确实如此,但是我们对外的代码没变,仅仅是对内的改变而已。