Spring Study
Spring
BeanFactory & ApplicationContext
1 |
|
区别总结:
ApplicationContext 高级,封装了很多功能;BeanFactory更底层
Bean初始化时机不同
- BeanFactory 是第一次调用getBean()时才进行Bean的创建
- ApplicationContext 是配置文件一加载,就将Bean实例化好了
基于xml的 spring 的 Bean配置
- Bean的xml配置名字
如果id和name都没有,默认名字是全类名
- Bean的范围配置
默认Bean是单例的,加载了xml之后就会创建,之后会存在单例池中(但可以配置延迟加载 lazy-init = 'true'
)
- applicationContext
- beanFactory
- singletonObjects
- beanFactory
Bean中所需要填充的属性,存储在BeanDefinition中
- Bean实例化配置
分为 构造函数构造 和 Bean工厂
默认是无参构造,并且大部分情况都是不写构造函数,会调用类的默认无参构造函数,不用显式声明
- Bean的依赖注入
分为 set构造、构造函数、注解
- Bean的实例化流程
通过Bean的后处理器 允许我们介入到Bean的整个实例化流程中去。
后处理器,是在beanDefinition之后,singletonObjects之前
Bean生命周期
IOC容器实例化Bean的整体流程图
Spring Study
https://cs-lb.github.io/2024/12/19/java实习学习/Spring-Study/