spring容器初始化过程?

网友投稿 153 2024-01-21


bean生命周期七个过程

1、创建---初始化---销毁的过程。spring中bean的生命周期由容器管理,我们可以自定义初始化和销毁方法;容器在bean进行到当前生命周期的时候来调用我们自定义的初始化和销毁方法。

2、spring生命周期只有3个:Spring对Bean进行实例化(相当于程序中的new Xx())。Spring将值和Bean的引用注入进Bean对应的属性中。

3、如果Bean实现了InitializingBean接口,Spring将调用它们的afterPropertiesSet方法,作用与在配置文件中对Bean使用init-method声明初始化的作用一样,都是在Bean的全部属性设置成功后执行的初始化方法。

4、当一个对象被Spring所管理,那么它的生命周期就完全由容器所控制。

5、Bean级生命周期接口方法:这个包括了BeanNameAware、BeanFactoryAware、InitializingBean和DiposableBean这些接口的方法。

Spring加载Bean流程解析

1、比如加载 A 的单例,和原型模式类似,单例模式也会调用匹配到要使用的构造函数,发现构造函数有参数 B,然后使用 BeanDefinitionValueResolver 来检索 B 的实例,根据上面的分析,继续调用 beanFactory.getBean 方法。

2、从web.xml里面配置的ContextLoaderListener开始。

3、Spring创建bean都需要通过 读取 、 解析 、 校验配置文件, 然后注册创建成Bean。 Spring是一个Bean容器 , 主要作用是替我们管理bean对象 (简单的Java类对象的生命周期)。

4、springbean的生命周期是bean信息的定义阶段。Spring容器启动的过程中,会将Bean解析成Spring内部的BeanDefinition结构,不管是是通过xml配置文件的标签,还是通过注解配置的Bean,还是Compontent标注的类,还是扫描得到的类。

5、在spring中bean的实例化有2个时机:下面从spring ioc容器初始化的时候,预实例化的bean为线索来追溯bean的实例化和依赖注入过程,这个过程涵盖了getBean方法。

6、是的,Spring管理Bean的方法就是修 汽车 的方式。

Spring容器初始化过程中的九次后置处理器的回调

这个方法是一个模板方法,规定了容器实例化的步骤。其中BF初始化完成后,会调用BF的后置处理器对BF进行后置处理。

这里把一个ObjectFactory添加到spring容器的三级缓存中去,在前面通过缓存获取bean的时候,会执行这里的getEarlyBeanReference方法,在这个方法中会去执行一些后置处理器的方法。

实现的基本实现原理就是后置处理器:BeanPostProcessor 机制,实现动态化植入机制。bean 在初始化的时候会进行调用对应的 BeanPostProcessor 的对应的方法会进行织入。

容器级生命周期接口方法:这个包括了InstantiationAwareBeanPostProcessor和BeanPostProcessor这两个接口实现,一般称它们的实现类为“后处理器”。springbean的生命周期是bean信息的定义阶段。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:springboot启动优化(springboot优雅启动)
下一篇:Springboot搭建申请网站?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~