当前位置: 首页 > news >正文

Spring IOC的理解

总:

  • 控制反转(IOC):理论思想,传统java开发模式,对象是由使用者来进行管理,有了spring后,可以交给spring来帮我们进行管理。
  • 依赖注入(DI):把对应的属性的值注入到具体的对象中,@Autowaired,populateBean完成属性值的注入。
  • 容器:存储对象,使用map机构来存储,spring中一般存在三级缓存,singletonObjects存放完整的bean对象。

分:

  • ioc容器的创建(beanFactory,DefaultListableBeanFactory),向bean工厂中设置一些参数(BeanPostProcessor,Aware接口子类)等等属性。
  • 加载解析bean对象,准备要创建的bean对象定义的beanDefintion(xml或者注解解析的过程)。
  • beanFactoryPostProcessor的处理,此处是扩展点,PlaceHodlerConfigurSupport,ConfigurationClassPostProcessor。
  • BeanPostProcessor的注册功能,方便后续选对bean对象完成具体的扩展功能。
  • 通过反射的方式将BeanDefinition对象实例化成具体的Bean对象。
  • bean对象的初始化过程(填充属性,调用aware子类的方法,调用BeanPostProcessor前置处理方法,调用init-method方法,调用BeanPostprocessor后置处理方法)。
  • 生成完整的bean对象,通过getBean方法可以直接获取。
  • bean销毁过程。

bean生命周期

http://www.lryc.cn/news/151173.html

相关文章:

  • 2023年京东箱包行业数据分析(京东数据运营)
  • 对称加密 非对称加密 AC认证 https原理
  • 如何在PyQt应用程序中使用Qt Designer和Pyuic工具?
  • 【云计算•云原生】5.云原生之初识DevOps
  • 20230830工作心得:巧用标记位和For循环遍历
  • AUTOSAR规范与ECU软件开发(实践篇)7.9 MCAL模块配置方法及常用接口函数介绍之Can的配置
  • SpringBoot整合websockt实现消息对话
  • MIME类型(Multipurpose Internet Mail Extensions,多用途互联网邮件扩展类型)MultipartFile 多媒体文件上传
  • 数据库(MySQL)的存储过程
  • Flutter:getX的学习
  • leetcode - 360周赛
  • Android 1.1 背景相关与系统架构分析
  • 系统架构技能之设计模式-抽象工厂模式
  • clangd的使用,实现跳转提示
  • 2023应届生java面试搞笑之一:CAS口误说成开心锁-笑坏面试官
  • nginx-concat
  • Java 大厂面试 —— 常见集合篇 List HashMap 红黑树
  • 剪枝基础与实战(5): 剪枝代码详解
  • Acwing 897. 最长公共子序列 (每日一题)
  • CSS中border-radius的来美化table的实战方案
  • 移除链表元素_每日一题
  • spring boot + Consul 示例 (Kotlin版)
  • Git企业开发控制理论和实操-从入门到深入(四)|Git的远程操作|Gitee
  • SpringCloudAlibaba Gateway(二)详解-内置Predicate、Filter及自定义Predicate、Filter
  • 调用chat-gpt
  • Element组件浅尝辄止6:Dialog 对话框组件
  • Bert和LSTM:情绪分类中的表现
  • 【面试经典150题】跳跃游戏
  • 【Rust】003-基础语法:流程控制
  • 0829【综述】面向时空数据的区块链研究综述