Spring5深入浅出篇:Spring中ioc(控制反转)与DI(依赖注入)

本文涉及的产品
可观测链路 OpenTelemetry 版,每月50GB免费额度
函数计算FC,每月15万CU 3个月
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: Spring5深入浅出篇:Spring中ioc(控制反转)与DI(依赖注入)

Spring5深入浅出篇:Spring中ioc(控制反转)与DI(依赖注入)

反转(转移)控制(IOC Inverse of Control)

控制:对于成员变量赋值的控制权
反转控制:把对于成员变量赋值的控制权,从代码中反转(转移)到Spring⼯⼚和配置⽂件中完成
 好处:解耦合
底层实现:⼯⼚设计模式

. 依赖注⼊ (Dependency Injection DI)

注⼊:通过Spring的⼯⼚及配置⽂件,为对象(bean,组件)的成员变量赋值
依赖注⼊:当⼀个类需要另⼀个类时,就意味着依赖,⼀旦出现依赖,就可以把另⼀个类作为本
类的成员变量,最终通过Spring配置⽂件进⾏注⼊(赋值)。
好处:解耦合

总结

这里主要是介绍下Spring的这俩个概念,基本上面试都会问到.需要牢记控制反转和依赖注入的操作步骤,大致能够简单说出大致实现.有很多面试官喜欢问这俩者有什么区别,其实俩者不是一个东西只需要分别介绍他们的概念即可.

相关文章
|
5天前
|
XML 缓存 Java
搞透 IOC、Spring IOC ,看这篇就够了!
本文详细解析了Spring框架的核心内容——IOC(控制反转)及其依赖注入(DI)的实现原理,帮助读者理解如何通过IOC实现组件解耦,提高程序的灵活性和可维护性。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
|
1月前
|
Java Spring 容器
Spring IOC、AOP与事务管理底层原理及源码解析
【10月更文挑战第1天】Spring框架以其强大的控制反转(IOC)和面向切面编程(AOP)功能,成为Java企业级开发中的首选框架。本文将深入探讨Spring IOC和AOP的底层原理,并通过源码解析来揭示其实现机制。同时,我们还将探讨Spring事务管理的核心原理,并给出相应的源码示例。
114 9
|
30天前
|
存储 开发框架 Java
什么是Spring?什么是IOC?什么是DI?IOC和DI的关系? —— 零基础可无压力学习,带源码
文章详细介绍了Spring、IOC、DI的概念和关系,解释了控制反转(IOC)和依赖注入(DI)的原理,并提供了IOC的代码示例,阐述了Spring框架作为IOC容器的应用。
22 0
什么是Spring?什么是IOC?什么是DI?IOC和DI的关系? —— 零基础可无压力学习,带源码
|
17天前
|
XML Java 数据格式
Spring IOC容器的深度解析及实战应用
【10月更文挑战第14天】在软件工程中,随着系统规模的扩大,对象间的依赖关系变得越来越复杂,这导致了系统的高耦合度,增加了开发和维护的难度。为解决这一问题,Michael Mattson在1996年提出了IOC(Inversion of Control,控制反转)理论,旨在降低对象间的耦合度,提高系统的灵活性和可维护性。Spring框架正是基于这一理论,通过IOC容器实现了对象间的依赖注入和生命周期管理。
46 0
|
25天前
|
XML Java 数据格式
Spring的IOC和AOP
Spring的IOC和AOP
41 0
|
2月前
|
SQL 监控 druid
springboot-druid数据源的配置方式及配置后台监控-自定义和导入stater(推荐-简单方便使用)两种方式配置druid数据源
这篇文章介绍了如何在Spring Boot项目中配置和监控Druid数据源,包括自定义配置和使用Spring Boot Starter两种方法。
|
XML 数据格式 Java
Spring_DI_XML_01
欢迎移步博客查看-http://futaosmile.oschina.io/coder957 基于XMl的DI 1.设值注入 2.构造注入 3.p命名空间设值注入 4.
821 0
|
XML 数据格式 Python
Spring_DI_XML_02
欢迎移步博客查看-http://futaosmile.oschina.io/coder957 基于XMl的DI 1.集合属性注入 2.array数组属性注入 3.
882 0
|
XML Java 数据格式
Spring_DI_XML_03
欢迎移步博客查看-http://futaosmile.oschina.io/coder957 基于XMl的DI 匿名Bean 匿名内部Bean 同类抽象Bean 异类抽象Bean 多个配置文件-平行关系 多个配置文件-包含关系 Java中的匿名内部类 匿名Bean 没有id,但是可以通过autowire="byType"找到。
742 0
|
22天前
|
人工智能 自然语言处理 前端开发
SpringBoot + 通义千问 + 自定义React组件:支持EventStream数据解析的技术实践
【10月更文挑战第7天】在现代Web开发中,集成多种技术栈以实现复杂的功能需求已成为常态。本文将详细介绍如何使用SpringBoot作为后端框架,结合阿里巴巴的通义千问(一个强大的自然语言处理服务),并通过自定义React组件来支持服务器发送事件(SSE, Server-Sent Events)的EventStream数据解析。这一组合不仅能够实现高效的实时通信,还能利用AI技术提升用户体验。
118 2