Spring——IOC/DI思想

1、IOC(Inversion of Control)控制反转

何为控制反转?

在业务层中我们如果要调用数据层的方法那么必然牵扯到对象的创建 ,如果我想要改变 上述数据层 的方法中的内容 ,那么我就要改变业务层 的代码,重新创建对象程序重新编译 运行,这样就会存在一个资源消耗 的问题,所以提出来IOC的思想,也就是将对象的控制权交给IOC容器来处理 而不必人为去创建对象。当业务层需要数据层的对象时,IOC容器会帮我们对对象进行创建和初始化等一系列操作。IOC容器被创建被管理的对象通一称为Bean。

2、DI(Dependency Injection)依赖传递

何为依赖传递?

既然在上面的IOC思想中我们已经把Bean交给容器去管理,++假设容器只起到管理Bean的作用++ 那么如果我调用业务层 对象由于业务层的运行 需要创建数据层对象 但业务层还没运行肯定没有数据层对象 ,这时程序就会报错 ,此时IOC容器的另一个作用就体现出来了,它会对有关系的对象进行依赖传递,将两个Bean绑定起来,此时调用业务层对象的同时 数据层对象就会在IOC中创建出来并初始化给到业务层从而使业务层实现。这就叫做依赖传递。

相关推荐
骇客野人13 小时前
.gitignore文件常用设置
java
bill44713 小时前
BPMN2.0,flowable工作流,【用户任务】使用【任务监听器】动态设置下一步处理人
java·工作流引擎·flowable·bpmn
Cricyta Sevina13 小时前
Java 语言多线程核心概念全解析
java·开发语言
shenzhenNBA13 小时前
如何在python文件中使用日志功能?简单版本
java·前端·python·日志·log
遇印记14 小时前
javaOCA考点(基础)
java·开发语言·青少年编程
阿里云云原生14 小时前
告别“看不见的内存”!SysOM 如何实现 Java 进程内存全景分析?
java·云原生
Andy工程师14 小时前
Spring Boot 按照以下顺序加载配置(后面的会覆盖前面的):
java·spring boot·后端
繁星蓝雨14 小时前
小试Spring boot项目程序(进行get、post方法、打包运行)——————附带详细代码与示例
java·spring boot·后端