• 阶段3 2.Spring_03.Spring的 IOC 和 DI_8 spring中bean的细节之生命周期


    区分单例还是多例对象

    单例的几个状态

    初始化方法和销毁方法



    设置成我们定义的方法

    测试



    有创建和初始化。但是没有销毁,。对象一直没有销毁的方法

    main方法是一切应用程序的入门。当main方法结束后。我们当前应用中线程占用的内存全部释放。这里当前也包含了我们的容器。
    此时没来得及调用销毁方法就已经消失了。
    只能手动关闭容器。

    这里close方法报错了。

    这是因为ClassPathXmlApplicationContext用的是ApplicationContext这个接口类型去接收的

    多态的特点。如果你看成父类对象的时候,只能调用父类对象的方法,而子类的方法一个也调用不了。这里用自己去接收。ClassPathXmlApplicationContext

    再次运行。

    多例

    改成多例的情况

    容器销毁依然在这

    没有看到容器关闭的信息。


    可以在这里加个断点进行测试。用Debug的方式去运行。

    断点,停住,点击下一步

    到这了还没有创建

    走到这里才被创建

    如果改成单例


    加断点,debug调试

    只要解析完了配置文件。马上就创建和初始化


    这时候也就解释了。spring可以感知到对象的作用范围。选择什么时候创建对象立即还是延迟。

  • 相关阅读:
    秋叶收藏集, LC个人竞赛题目解析
    字典树,前缀树的模板!秒懂
    106. 从中序与后序遍历序列构造二叉树
    c++ enum 的枚举
    c++变量的声明和定义
    leetcode 39 组合总数(回溯)
    python lambda表达式应用
    python解压可迭代对象赋值给多个变量
    python之解压序列并赋值给变量
    Python循环列表的方法
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11341502.html
Copyright © 2020-2023  润新知