springbean流程加载过程
2022-09-09 11:09:42 0 举报
spring 创建bean流程设计类 方法
作者其他创作
大纲/内容
getSingleton()
DefaultSingletonBeanRegistry
instantiate()
属性
createBeanInstance()
BeanFactory
放bean
ConfigurableApplicationContext
spring创建非懒加载的Bean的过程是发成在容器ApplicationContext实例化的过程中完成,在容器的内部会创建一个BeanFactory,再使用beanFactory的getBean()方法,getBean方式中会调用doGetBean方法进行创建Bean。会将Bean存放在一个Map集合(singletonObjects)中,Map中的key就是我们配置文件中定义的bean标签的id值。
ObjectFactory
AbstractAutowireCapableBeanFactory
ClassPathXmlApplicationContext
doGetBean()
finishBeanFactoryInitialization()
SingletonBeanRegistry
xml
AbstractBeanFactory
getObject()
BeanUtils
createBean()
AbstractXmlApplicationContext
BeanUtils.instantiateClass()反射ctor.newInstance()
yml
refresh()
getBean(beanName)
instantiateBean()
doCreateBean()
propeties......
DefaultListableBeanFactory
preInstantiateSingletons()
InstantiationStrategy
ConfigurableListableBeanFactory
加载配置
匿名内部类中的this.createBean方法中
SimpleInstantiationStrategy
收藏
收藏
0 条评论
回复 删除
下一页