spring bean生命周期怎么记

worktile 其他 33

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    Spring Bean 的生命周期可以通过以下方式记忆:

    1. 实例化(Instantiation):当 Spring 容器接收到 Bean 的定义时,会根据定义信息实例化 Bean 对象。这个阶段会调用构造函数来创建 Bean 实例。

    2. 属性赋值(Population):在实例化后,Spring 会根据配置文件或注解,将属性值注入到 Bean 实例中。可以通过构造器注入、属性注入或方法注入的方式来完成。

    3. 初始化(Initialization):在属性赋值完成后,会调用自定义的初始化方法,如实现 InitializingBean 接口的 afterPropertiesSet() 方法,或使用 @PostConstruct 注解的方法。这个阶段可以进行一些额外的初始化工作,如数据加载、资源分配等。

    4. 使用(In Use):初始化完成后,Bean 对象就可以使用了。在这个阶段,可以执行 Bean 的业务逻辑,处理请求,调用方法等等。

    5. 销毁(Destruction):当 Spring 容器关闭时,在容器销毁之前,会调用自定义的销毁方法,如实现 DisposableBean 接口的 destroy() 方法,或使用 @PreDestroy 注解的方法。在销毁方法中可以进行一些资源释放、清理操作。

    通过以上步骤,可以参照"实例化-属性赋值-初始化-使用-销毁"这个顺序来记忆 Spring Bean 的生命周期。

    1年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    记住 Spring Bean 的生命周期可以有助于我们更好地理解 Spring 框架的工作原理和优化代码。下面是一个简单的记忆方法,用于概括 Spring Bean 的生命周期。

    1. 定义:首先,我们需要定义一个 Spring Bean。这可以通过在配置文件(XML 或注解)中声明一个 Bean 来实现。

    2. 实例化:在定义之后,Spring 容器会负责实例化 Bean。这是在容器启动时完成的。

    3. 设置属性:一旦 Bean 被实例化,Spring 便会通过调用相应的 setter 方法为 Bean 设置属性。

    4. 初始化:在属性设置完成后,Spring 容器会执行任何与初始化相关的回调方法。我们可以通过实现 InitializingBean 接口或在配置文件中指定 init-method 来自定义初始化操作。

    5. 使用:初始化完成后,Spring Bean 就可以供其他对象使用了。我们可以通过使用自动装配或依赖注入将 Bean 注入到其他组件中。

    6. 销毁:当应用程序关闭时,或者当 Bean 不再需要时,Spring 容器会调用相应的回调方法来销毁 Bean。我们可以通过实现 DisposableBean 接口或在配置文件中指定 destroy-method 来自定义销毁操作。

    记忆这个生命周期可以帮助我们更好地理解 Spring 框架的工作原理,并能更好地利用和优化 Spring Bean。

    1年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    Spring容器管理的Bean的生命周期可以通过以下八个阶段来记忆:

    1. 实例化(Instantiation):当Spring容器启动时,会根据配置文件中的Bean定义,通过Java的反射机制创建Bean的实例。

    2. 属性填充(Population):在实例化Bean之后,Spring容器会根据配置文件中的依赖关系,将Bean所需要的属性或依赖注入到Bean中。

    3. 初始化前(Initialization):当Bean的属性填充完成后,Spring容器会调用Bean的初始化回调方法(如实现InitializingBean接口的afterPropertiesSet()方法,或在配置文件中通过init-method属性指定的方法)来完成Bean的初始化操作。

    4. 初始化(Initialization):在初始化前的回调方法执行完成后,Bean将会被标记为已初始化,此时可以对Bean进行一些自定义的初始化操作。

    5. 销毁前(Destruction):当Spring容器关闭或者通过手动调用容器的destroy()方法来销毁Bean时,将会调用Bean的销毁前回调方法(如实现DisposableBean接口的destroy()方法,或在配置文件中通过destroy-method属性指定的方法)进行Bean的销毁前操作。

    6. 销毁(Destruction):在销毁前的回调方法执行完成后,Bean将会被标记为已销毁,此时可以对Bean进行一些自定义的销毁操作。

    7. 单例缓存(Singleton Cache):在Bean的初始化和销毁过程中,Spring容器会默认将Bean以单例模式缓存在容器中,以便在其他地方可以重复使用。

    8. 垃圾回收(Garbage Collection):当Bean被标记为已销毁后,Spring容器会将该Bean的引用置为null,等待垃圾回收器对其进行回收。

    通过以上八个阶段的记忆,可以帮助我们更好地理解和记忆Spring Bean的生命周期。每个阶段都有特定的方法或回调,我们可以根据需要在这些方法中添加我们的自定义逻辑。

    1年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部