首页 > 编程知识 正文

springbean是什么(servlet生命周期)

时间:2023-05-04 13:43:50 阅读:95167 作者:3648

Spring虽然也看过常用的基本代码原理,但基本原理忘得差不多了,勉强答个大概,难过的柜子说点什么,职位果断没意思。 之后,特意看源代码,特别整理,亡羊补牢吧。

考察Bean在Spring中的生命周期,也就是说,对Spring是否熟悉,在工作中是否很少使用,在这里简单地进行了整理。 PS :可以参考servlet的生命周期,进行实例化、初始init、请求服务的接收、毁灭者的丢弃;

Spring上下文中的Bean也类似。 【Spring上下文的生命周期】

实例化Bean,也就是我们通常所说的new

2 .根据Spring上下文配置实例化Bean,即IOC注入

3 .如果此Bean中实现了BeanNameAware接口,则调用所实现的setbeanname(stringbeanid )方法。 在此,我们将传递Spring配置文件中的beanid

4 .如果此Bean实现了BeanFactoryAware接口,则调用所实现的setBeanFactory ()并传递Spring工厂本身(可以通过此方法获取其他Bean )。

5 .如果该Bean实现了应用程序上下文接口,则会调用setapplicationcontext (应用程序上下文)方法并将其传递到Spring上下文此方法同样可以实现步骤4,但比步骤4好,可以将其视为应用程序上下文

6 .如果此Bean具有关联的BeanPostProcessor接口,则调用postprocessbeforeinitialization (objectobj,String s )方法以生成bean possor

7 .如果此Bean在Spring配置文件中设置了init-method属性,则会自动调用该设置的初始化方法

8 .如果此Bean具有关联的BeanPostProcessor接口,将调用postafterinitialization (objectobj,String s )方法

注意:完成上述任务后,可以使用此Bean。 由于该Bean是单个,因此通常调用具有相同ID的Bean是具有相同内容地址的实例

9 .如果不再需要bean,并且经过清理阶段,bean实现了DisposableBean接口,则调用实现的destroy方法

10 .最后,如果为此Bean的Spring配置了destroy-method属性,则会自动调用销毁该配置的方法

以上10个步骤可以作为面试或笔试的模板。 此外,本节还介绍了应用Spring上下文Bean的生命周期。 如果是应用Spring的工厂,即BeanFactory,则删除步骤5就Ok了

-------------请参见

在Spring框架中,在Spring IOC容器中嵌入Bean时,该Bean的生命周期由容器进行管理。 通常,BeanFactory或应用程序上下文负责管理。 了解Bean的生命周期活动有助于更好地利用它。

以BeanFactory为例,说明Bean的生命周期活动

创建Bean。 BeanFactory将读取Bean定义文件,并为每个实例生成Setter注入。 Bean的属性依赖于注入到BeanNameAware中的setBeanName (),如果实现了该接口,则为该setBeanName方法BeanFactoryAware的setBeanName ) ) 其setBeanFactory方法BeanPostProcessor的processBeforeInitialization (),如果有关联的processor,则为, 此实例的processBeforeInitialization ()方法InitializingBean的afterPropertiesSet ) )在初始化Bean之前运行,并且实现了该接口运行其afterPropertiesSet (方法Bean定义文件中定义的init-methodBeanPostProcessors的处理程序软件初始化),然后使用关联的处理程序软件此实例的processAfterInitialization (方法DisposableBean的destroy ) )在初始化Bean之前运行,并且在容器关闭时Bean类实现了接口其destroy ) )在方法Bean定义文件中定义destroy在Bean定义文件中使用可以在“destory-method”中定义的方法ApplicationContext来维护Bean的生命周期时,基本上如果实现了BeanNameAware的set beanname (org.spring框架. context.applicationcontextaware接口,则为其安装应用程序连接)

事实上,应用程序上下文不仅像BeanFactory一样维护容器,还提供了更丰富的框架功能,如Bean消息、事件处理机制等

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。