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

  • 相关阅读:
    unsupported jsonb version number 123
    如何在MPlayer上支持RTSP
    TDengine 时序数据库的 ADO.Net Core 提供程序 Maikebing.EntityFrameworkCore.Taos
    如何使用IoTSharp对接ModBus?
    如何从源码启动和编译IoTSharp
    Asp.Net Core 自动适应Windows服务、Linux服务、手动启动时的内容路径的扩展方法
    MQTTnet 的Asp.Net Core 认证事件的扩展
    Asp.Net Core 中利用QuartzHostedService 实现 Quartz 注入依赖 (DI)
    The remote certificate is invalid according to the validation procedure 远程证书验证无效
    settings插拔式源码
  • 原文地址:https://www.cnblogs.com/parkdifferent/p/10764837.html
Copyright © 2011-2022 走看看