zoukankan      html  css  js  c++  java
  • ApplicationContext中Bean的生命周期

    引言

    Bean应用上下文中的生命周期和在BeanFactory中生命周期类似,不同的是,如果Bean实现了org.springframework.context.ApplicationContextAware接口,则会增加一个调用该接口方法setApplicationContext()的步骤:
    ApplicationContext中Bean的生命周期

    如果在配置文件中声明了工厂后处理器接口BeanFactoryPostProcessor的实现类,则应用上下文在装配配置文件之后、初始化Bean实例之前将调用这些BeanFactoryPostProcessor对配置信息进行加工处理。Spring框架提供了多个工厂后处理器,如CusomEditorConfigurer、PopertyPlaceholdConfigurer等。如果在配置文件中定义了多个工厂后处理器,那么最好让它们实现org.springframework.core.Ordered接口,以便Spring以确定的顺序调用它们呢。工厂后处理器是容器级,仅仅在应用上下文初始化时调用一次,其目的是完成一些配置文件的加工处理工作。

    ApplicationContext中Bean和BeanFactory中Bean的生命周期不同

    ApplicationContext会利用Java反射机制自动识别配置出配置文件中定义的BeanPostProcessor、InstantiationAwareBeanPostProcessor和BeanFactoryPostProcessor,并自动将它们注册到应用上下文;而BeanFactory需要在代码中通过手工调用addBeanPostProcessor()方法进行注册。这也是为什么在应用开发中普遍使用ApplicationContext而很少使用BeanFactory的原因之一。

  • 相关阅读:
    TODO 模板实践
    C++类继承方式及实践
    【转】C++友元
    C++面向对象实践
    数组指针实践
    引用&指针交换函数实践
    左值引用&右值引用实践【TODO】
    const变量的修改实践
    【转】c语言动态与静态分配
    【转】数组指针&指针数组
  • 原文地址:https://www.cnblogs.com/xiao2/p/7705436.html
Copyright © 2011-2022 走看看