在A类中调用B类的方法,那么我们就称 A依赖B,B为被依赖(对象)
传统做法:
(1)直接在A中new出B类对象,然后调用B类方法
(2)通过简单工厂获取B类对象,然后调用B类的方法 —— 摆脱了与B的耦合,却又与工厂产生了耦合;
以上两种做法,都是在A中主动去new或调用简单工厂的方法产生B的对象,注意,关键字是“主动”
Spring框架
在spring中,B的实例对象被看成Bean对象,这个Bean对象由spring容器进行创建和管理,当我们在配置文件中配置<Bean>下的<property>子元素时,spring就会自动执行在A中对B对象的setter方法(如此一来,A获取B的实例对象就不是由自己主动去获取,而是被动接受spring给它设值,)就可以理解为“控制反转”。
常用到AOP的就是安全校验、日志操作、事务操作等