IoC
首先要明确IoC能解决什么样的问题,它解决的是类之间的关联关系的问题。
IoC是整个Spring框架最底层最核心的部分,SpringBoot是最表面的部分
当对象之间有关联关系时,比如A对象的属性有B对象,那么正常的做法是创建者原则,即A对象去创建B对象,然后跟自己关联。
控制反转说的就是A不去控制B的创建和建立耦合的过程,把权限交给了别人。因此一定要提供一种方法来让外部完成这件事:
- 构造方法,比如A a = new A(B b),这样就建立了关联
- set方法,比如A.setB(b)
控制反转和依赖注入是一回事。
IoC的另一个好处是方便测试(切片测试)
Spring框架是如何实现控制反转和依赖注入的?
所有对象都是由容器来建的(和Servlet相似),我们写的业务代码类都叫业务对象,或者Spring的Bean对象,也有叫POJO对象的(Plain Ordinary Java Object)。
这些类都是解耦的,由外部通过构造方法或者set方法传参,那么具体传什么是写在配置数据里的。(注解)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!