区分单例还是多例对象

单例的几个状态

初始化方法和销毁方法

设置成我们定义的方法

测试

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

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

这里close方法报错了。

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

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

再次运行。

改成多例的情况

容器销毁依然在这

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


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

断点,停住,点击下一步

到这了还没有创建

走到这里才被创建

如果改成单例


加断点,debug调试

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


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

相关文章:

  • 2022-03-03
  • 2022-12-23
  • 2021-06-25
  • 2021-07-01
  • 2021-06-17
  • 2021-12-22
  • 2021-06-02
  • 2022-01-02
猜你喜欢
  • 2022-03-06
  • 2022-02-23
  • 2021-08-24
  • 2021-11-21
  • 2021-12-07
  • 2022-02-04
  • 2021-10-21
相关资源
相似解决方案