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

区分单例还是多例对象

单例的几个状态

初始化方法和销毁方法



设置成我们定义的方法

测试



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

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

这里close方法报错了。

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

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

再次运行。

多例

改成多例的情况

容器销毁依然在这

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


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

断点,停住,点击下一步

到这了还没有创建

走到这里才被创建

如果改成单例


加断点,debug调试

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


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

posted @ 2019-08-12 17:36  高山-景行  阅读(146)  评论(0编辑  收藏  举报