Spring Bean 实例的注册流程

Spring Bean 实例的注册流程

关于Spring Bean 实例的注册流程:
1.定义好Spring的配置文件。
2.通过Resource对象将Spring配置文件进行抽象,抽象成一个具体的Resource对象(如ClassPathResource)
3.定义好要使用Bean工程(各种BeanFactory).
4.定义好XmlBeanDefinitionReader对象,并将工厂对象作为参数传递进去,从而构建好二者间的关联关系。
5.通过XmlBeanDefinitionReader对象读取之前所抽象出来的Resource对象。
6.流程开始进行解析
7.针对XML文件进行各种元素以及元素属性的解析,这里面,真正的解析是通过BeanDefinitionParserDelegate对象来完成(使用委托模式)
8.通过BeanDefinitionParserDelegate对象在解析XML文件时,又使用了模板方法(pre,process,post)
9.当所有bean标签都解析完毕后,开始定义一个BeanDefinition对象,该对象是一个非常重要的对象,里面容纳了一个bean相关的所有属性
10.BeanDefinition对象创建完毕之后,Spring又会创建一个BeanDefinitionHolder对象来持有这个BeanDefinition对象。
11.BeanDefinitionHolder对象主要包含:beanName 和BeanDefinition.
12.工厂会把解析出来的bean信息存放到内部的一个ConcurrentHashMap中,key:beanName(唯一),value:BeanDefinition对象创建完毕之后,Spring又会创建一个BeanDefinition对象
13.调用Bean解析完毕的触发动作,从而触发相应的监听器的方法的执行(使用观察者模式)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100722.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号