zoukankan      html  css  js  c++  java
  • Spring Bean's life

      In contrast, the lifecycle of a bean in a Spring container is more elaborate. It’s
    important to understand the lifecycle of a Spring bean, because you may want to take
    advantage of some of the opportunities that Spring offers to customize how a bean is
    created. Figure 1.5 shows the startup lifecycle of a typical bean as it’s loaded into a
    Spring application context.

      

     As you can see, a bean factory performs several setup steps before a bean is ready to
    use. Let’s break down figure 1.5 in more detail:
      1 Spring instantiates the bean.
      2 Spring injects values and bean references into the bean’s properties.
      3 If the bean implements BeanNameAware, Spring passes the bean’s ID to the set-
    BeanName() method.
      4 If the bean implements BeanFactoryAware, Spring calls the setBeanFactory()
    method, passing in the bean factory itself.
      5 If the bean implements ApplicationContextAware, Spring calls the set-
    ApplicationContext() method, passing in a reference to the enclosing application
    context.
      6 If the bean implements the BeanPostProcessor interface, Spring calls its post-
    ProcessBeforeInitialization() method.
      7 If the bean implements the InitializingBean interface, Spring calls its after-
    PropertiesSet() method. Similarly, if the bean was declared with an initmethod,
    then the specified initialization method is called.
      8 If the bean implements BeanPostProcessor, Spring calls its postProcess-
    AfterInitialization() method.
      9 At this point, the bean is ready to be used by the application and remains in the
    application context until the application context is destroyed.
      10 If the bean implements the DisposableBean interface, Spring calls its
    destroy() method. Likewise, if the bean was declared with a destroy-method,
    the specified method is called.
     Now you know how to create and load a Spring container. But an empty container
    isn’t much good by itself; it doesn’t contain anything unless you put something in it.
    To achieve the benefits of Spring DI, you must wire your application objects into the
    Spring container. We’ll go into bean wiring in more detail in chapter 2.

    参考文献

      Spring in Action

  • 相关阅读:
    [Python_3] Python 函数 & IO
    [Python_2] Python 基础
    【一首小诗】每一个难捱的日子都是一首诗
    【排序算法】选择排序(Selection sort)
    【排序算法】冒泡排序(Bubble Sort)
    【待补充】[Python_1] Python 安装
    [IDEA_6] IDEA 集成 Python
    MySQL 的 CURD 操作
    [Spark SQL_1] Spark SQL 配置
    MySQL 基础
  • 原文地址:https://www.cnblogs.com/parkdifferent/p/10764837.html
Copyright © 2011-2022 走看看