spring-ioc容器理解

ioc:控制反转;将对象的创建、配置、销毁,生命周期的管理交予容器;
容器的核心功能可拆分为:

  1. 解析配置
  2. 创建对象
  3. 对象的生命周期管理

解析配置

容器对于一个项目要创建哪些对象,一开始是不清楚的;是靠配置来告知容器它具体要创建哪些对象以及对象的依赖关系等信息;(xml配置、注解)

创建对象

在工厂模式中,一个工厂去创建某种类型的类对象;但作为要创建所有类的工厂呢,Spring中的BeansFactory就可以做到;

生命周期管理

  • 对于每次都创建一个对象和每次都返回事先创建好的对象,spring中通过scope属性来区分:prototype标识返回新创建的对象;singleton标识返回创建好的对象;
  • 还可以配置lazy-init属性来配置是否懒加载;
  • init-method:创建好对象后会自己调用这个属性配置的方法;
  • destroy-method:销毁对象前,会自己调用这个属性配置的方法;如:释放数据库连接、关闭文件;

spring中的beansFactory负责把解析出来的Beandefinition集合加载到自己的属性中,将list转换成map:key为id,value为类对象;

spring的三级缓存解决循环依赖的问题。细节待补充

posted @   lq-12040  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示