IOC/DI
书写现状:耦合度偏高
如图:传统书写代码左边业务层需要new一个对象进行业务实现。当数据层优化代码BookDaoImpl2就需要动业务层代码重新修改new的对象。导致代码耦合度偏高。
解决办法:使用对象,不要主动new对象,由外部提供对象。这种思想就叫IOC控制反转(对象控制权转移到外部)
好处:解耦
Spring把控制反转做到了,Spring提供了一个容器,称IOC容器,用来充当该思想的外部。以后不用自己new对象,由IOC自己创建对象
它把它管理的对象叫做Bean
DI:依赖注入:正好两个service和dao的对象都在IOC容器中,直接让service依赖dao层,就叫。
目的:充分解耦
- 使用IOC容器管理bean(IOC)
- 对有关系的bean进行绑定(DI)
效果:用对象直接从IOC容器中取bean,并且这个bean绑定了所有的依赖关系
视频链接