阅读(3422) (2)

Bean lifecycle

2017-07-03 16:43:51 更新
  1. Instantiate - 容器在 XML 文件里找到定义并实例化它们

  1. Populate properties - 使用 DI 填充属性

  1. Set Bean Name - If the bean implements BeanNameAware interface, spring passes the bean's id to setBeanName() method.

  1. Set Bean factory - If Bean implements BeanFactoryAware interface, spring passes the beanfactory to setBeanFactory() method.

  1. Pre Initialization - 也叫 postprocess. Spring 调用 postProcesserBeforeInitialization() 方法.

  1. Initialize beans - If the bean implements IntializingBean,its afterPropertySet() method is called. If the bean has init method declaration, the specified initialization method is called.

  1. Post Initialization - 调用 postProcessAfterInitialization() 方法

  1. Ready to use - 现在可以用它们了.

  1. Destroy - If the bean implements DisposableBean , it will call the destroy() method .