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

相关推荐
꧁Q༒ོγ꧂20 分钟前
LaTeX 语法入门指南
开发语言·latex
njsgcs27 分钟前
ue python二次开发启动教程+ 导入fbx到指定文件夹
开发语言·python·unreal engine·ue
alonewolf_9928 分钟前
JDK17新特性全面解析:从语法革新到模块化革命
java·开发语言·jvm·jdk
一嘴一个橘子29 分钟前
spring-aop 的 基础使用(啥是增强类、切点、切面)- 2
java
sheji341637 分钟前
【开题答辩全过程】以 中医药文化科普系统为例,包含答辩的问题和答案
java
古城小栈1 小时前
Rust 迭代器产出的引用层数——分水岭
开发语言·rust
电子小白1231 小时前
第13期PCB layout工程师初级培训-1-EDA软件的通用设置
笔记·嵌入式硬件·学习·pcb·layout
ghie90901 小时前
基于MATLAB的TLBO算法优化实现与改进
开发语言·算法·matlab
恋爱绝缘体11 小时前
2020重学C++重构你的C++知识体系
java·开发语言·c++·算法·junit
wuk9981 小时前
VSC优化算法MATLAB实现
开发语言·算法·matlab