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

  • 相关阅读:
    Java Swing TextArea 滚动条和获得焦点
    Windows下一个AndroidStudio 正在使用Git(AndroidStudio工程GitHub关联)
    我们将与操作系统工作谈一场无私的爱──《云情人》思考
    CSDN markdown 编辑 三 基本语法
    Android项目包装apk和apk反编译,xml反编译
    char (*(*p[3])( int ))[5] 等等一系列 左右法则
    typedef 优于 #define
    int *(*a[5])(int, char*)
    C++宏定义详解
    STL 案例分析
  • 原文地址:https://www.cnblogs.com/parkdifferent/p/10764837.html
Copyright © 2011-2022 走看看