学习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。

相关推荐
无小道3 分钟前
C/C++——异步编程小记
开发语言·c++·c++11
奇树谦3 分钟前
Pimpl 模式(d-pointer)详解:如何解决 C++ 头文件过大、编译依赖和 ABI 兼容问题
开发语言·c++
摆烂老大6 分钟前
论文学习 | Expert Systems With Applications2026 | 可微分建模:S4D-HBV
python·学习·水文
user_admin_god9 分钟前
一体化数据归集接口详细设计说明
java·大数据·spring boot·后端·spring
DevOpenClub14 分钟前
Markdown、HTML 和 PPT 如何稳定交付:文档转换任务的幂等发布流程
开发语言·前端·c#·html·powerpoint
程序员夏洛23 分钟前
谈谈你了解的最常见的几种设计模式,说说他们的应用场景
开发语言·python·模板方法模式
LlmCraft|大模型工程实践29 分钟前
08. Docker Compose 一键编排:多容器应用的指挥家
java·spring cloud·eureka
小灰灰搞电子29 分钟前
Rust+Slint 实现侧滑菜单栏源码分享
开发语言·rust·抽屉式菜单栏
珍珠先生36 分钟前
第14章 设计模式入门:单例、工厂、建造者与代理
java
JavaEdge.40 分钟前
scoped 样式与 data-v-* 属性选择器(写给 Javaer)
开发语言·vue