黑马程序员2022新版SSM框架教程_Spring+SpringMVC+Maven高级+SpringBoot+MyBatisPlus企业实用开发技术_哔哩哔哩_bilibili
代码书写现状:
耦合度偏高
解决方案:
使用对象时,在程序中不要主动使用 new 产生对象,转换为由外部提供对象
使用对象时,由主动 new 产生对象转换为由外部提供对象,此过程中对象创建控制权由程序转移到外部,此思想称为控制反转。
(1)Spring 技术对 IoC 思想进行了实现
(2)Spring 提供了一个容器,称为 IoC 容器,用来充当 IoC 思想中的"外部"
(1)IoC 容器负责对象的创建、初始化等一系列工作,被创建或被管理的对象在 IoC 容器中统称为 Bean
(2)IoC 容器中放的就是一个个的 Bean 对象
(1)不行,因为 service 运行需要依赖 dao 对象
(2)IoC 容器中虽然有 service 和 dao 对象,但是 service 对象和 dao 对象没有任何关系
(3)需要绑定 service 和 dao 对象之间的关系,像这种在容器中建立对象与对象之间的绑定关系就要用到 DI
在容器中建立 bean 与 bean 之间的依赖关系的整个过程,称为依赖注入。
业务层要用数据层的类对象,以前是自己new的,现在自己不new了,靠外部【IOC容器】来给注入进来,这种思想就是依赖注入。