学习java第二十七天

Spring框架作为IOC容器的落地实现,提供了一个灵活的"插座",其他组件只需要简单的"插上"即可享受Spring提供的基础设施支持- ,并且结合Spring一起使用。

Spring的核心在于它的IOC容器设计,我们可以通过Spring应用程序上下文生命周期和Spring Bean的生命周期中提供的扩展点来个性化定制IOC容器,或者插手各个Bean的创建过程,对我们感兴趣的bean进行定制化处理。

Spring面向模块开发的,spring大家族中各个模块小模块之间都依附于Spring IOC这个核心底层模块,各个小模块之间也不存在强耦合关系,可以随插随用。

Bean配置和扫描注册阶段:

元信息配置阶段: 面向资源(xml,properties) ,面向注解或者面向API(配置类)进行配置

元信息解析阶段: 将元信息统一解析为BeanDefinition对象,该对象包含定义Bean的所有信息,并且采用不同方式加载的bean,会对应不同的BeanDefinition实现。具体参考: BeanDefinition体系结构

元信息注册阶段: 将BeanDefinition配置原信息保存到BeanDefinitionRegistry中。

bean实例化阶段(省略缓存检查和bean提前暴露等阶段):

BeanDefinition合并阶段: 定义的bean可能存在父子关系,需要进行属性合并,存在相同配置则覆盖父属性,并且不同来源的bean,采用不同BeanDefinition进行存储,这里需要统一转换为RootBeanDefintion。

相关推荐
listhi5204 分钟前
卷积码编码和维特比译码的MATLAB仿真程序
开发语言·matlab
一起努力啊~4 分钟前
算法刷题-二分查找
java·数据结构·算法
小途软件7 分钟前
高校宿舍访客预约管理平台开发
java·人工智能·pytorch·python·深度学习·语言模型
yuan1999711 分钟前
基于主成分分析(PCA)的故障诊断MATLAB仿真
开发语言·matlab
J_liaty11 分钟前
Java版本演进:从JDK 8到JDK 21的特性革命与对比分析
java·开发语言·jdk
+VX:Fegn089532 分钟前
计算机毕业设计|基于springboot + vue律师咨询系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计
翔云 OCR API37 分钟前
发票查验接口详细接收参数说明-C#语言集成完整示例-API高效财税管理方案
开发语言·c#
华清远见成都中心38 分钟前
人工智能要学习的课程有哪些?
人工智能·学习
daidaidaiyu42 分钟前
一文学习和实践 当下互联网安全的基石 - TLS 和 SSL
java·netty
Chasing Aurora42 分钟前
Python后端开发之旅(三)
开发语言·python·langchain·protobuf