Spring——核心概念

代码书写现状:

假如数据层实现,来了一个全新的实现,此时业务层需要修改,代码耦合度偏高

我们追求低耦合

解决方案:

使用对象时,在程序中不要主动使用new产生对象,转换为由外部提供对象

IoC控制反转

对象的创建控制权由程序转移到外部,这种思想称为控制反转

即使用对象时,由主动new产生对象转换为由外部提供对象,此过程中对象创建控制权由程序转移到外部

Spring技术对IoC思想进行了实现

Spring提供了一个容器,称为IoC容器,用来充当IoC思想中的"外部"

IoC容器负责对象的创建,初始化等一系列工作,被创建或被管理的对象在IoC容器中统称为Bean

在容器中建立bean与bean之间的依赖关系的整个过程,称为依赖注入

目标:充分解耦

  1. 使用IoC容器管理bean
  2. 在IoC容器内将有依赖关系的bean进行关系绑定(DI)

最终效果:

使用对象时不仅可以直接从IoC容器中获取,并且获取到的bean已经绑定了所有的依赖关系

相关推荐
编码忘我20 小时前
java开发模式之静态代理、动态代理、CGLIB代理
java
冬夜戏雪20 小时前
实习面经摘录(八)
java
MekoLi2920 小时前
MongoDB 新手完全指南:从入门到精通的实战手册
数据库·后端
拾年27520 小时前
别再让 NullPointerException 搞崩你的代码了!Optional + Stream 组合拳详解
java
weixin_4041576820 小时前
Java高级面试与工程实践问题集(一)
java·开发语言·面试
cyforkk20 小时前
Spring AOP 进阶:揭秘 @annotation 参数绑定的底层逻辑
java·数据库·spring
清风徐来QCQ20 小时前
Java2(valueOf,Character,StringBuilder,设计模式)
java·开发语言
会算数的⑨20 小时前
演进——从查日志到 AI 自治,企业监控体系的变迁
人工智能·分布式·后端·微服务·云原生
台XX20 小时前
Java容器常用方法
java·开发语言
tonyhi620 小时前
Ubuntu DeepSeek R1本地化部署 Ollama+Docker+OpenWebUI
java·ubuntu·docker