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

相关推荐
Arva .14 分钟前
Spring Boot 配置文件
java·spring boot·后端
IT_Octopus14 分钟前
https私人证书 PKIX path building failed 报错解决
java·spring boot·网络协议·https
MediaTea15 分钟前
Python:匿名函数 lambda
开发语言·python
肥肠可耐的西西公主25 分钟前
后端(JavaWeb)学习笔记(CLASS 1):maven
笔记·学习·maven
R-G-B25 分钟前
【06】C#入门到精通——C# 多个 .cs文件项目 同一项目下添加多个 .cs文件
开发语言·c#·c# 多个 .cs文件项目
程序员清风30 分钟前
网易三面:Java中默认使用的垃圾回收器及特点分版本说说?
java·后端·面试
这周也會开心39 分钟前
本地部署javaweb项目到Tomcat的三种方法
java·tomcat
数据知道1 小时前
Go基础:正则表达式 regexp 库详解
开发语言·mysql·golang·正则表达式·go语言
小蒜学长1 小时前
jsp基于JavaWeb的原色蛋糕商城的设计与实现(代码+数据库+LW)
java·开发语言·数据库·spring boot·后端
zhangfeng11331 小时前
亲测可用,R语言 ggplot2 箱线图线条控制参数详解,箱线图离散数值控制
开发语言·python·r语言·生物信息