从设计者的角度谈谈Spring中Bean的生命周期

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangxing233/article/details/80220201

分析Spring中Bean的生命周期的文章有很多。但是大多数都只是列举Bean的生命周期有哪些。写得深入一点的文章会分析每个生命周期做了些什么事情。有一些写得严谨的文章甚至会写代码去验证。然而,这些文章都只是写了“知其然”的这一部分。看了这些文章只能说对Bean的生命周期有一个大致的了解。想要彻底消化这么多内容还是比较困难。本文尝试从设计者的角度来谈谈Bean的生命周期这个问题。聊一聊为什么需要这么多的生命周期,每一个生命周期的意义。让读者知其所以然。

人的生命周期从大的方面来说一般包含三个阶段:出生,生活和死亡。在出生前,母亲可能会补充一些叶酸,维生素等来让胎儿生长的更好。有些父母甚至会对胎儿进行胎教。比说说播放一些特定的音乐来给胎儿听,希望胎儿出生后能有更好的音乐素养。这些都是胎儿出生前父母对他做的一些影响。婴儿出生后,医生要给婴儿减去脐带,清洗干净,拍打婴儿让其哭出第一声。这是医生对婴儿出生后做的一系列操作。在这之后,父母要给婴儿取名字,上户口等等,给他一个身份。在人去世之前,需要对其做相应的治疗。在人去世后,要为其举办葬礼,销毁他的一些遗物等。这是在一个人去世前后所要做的一些事情。

Bean的生命周期也是类似的。

在传统的Java应用中,Bean的生命周期也很简单。使用New 实例化一个Bean,使用Bean。在该Bean不再被使用后,JVM会将其回收。然而,如果你想在Bean实例化之前,销毁前等做一些个性化的设置,可能就比较麻烦了。类似人的生命周期,Spring中的Bean的生命周期更加精细化。在Bean的生命周期中,Sping提供了很多扩展点。这些扩展点可以被用来进行一些自定义的操作。

猜你喜欢

转载自blog.csdn.net/wangxing233/article/details/80220201
今日推荐