在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
如何管理Spring Bean的生命周期?回答这个问题之前,我们可以先来看看Bean的定义,Bean是一个被实例化,组装,并通过Spring IOC容器所管理的对象。换句话说,那些组成应用程序的主体以及由Spring IOC容器所管理的对象就是bean。另外,在Spring中bean默认都是单例的。想要管理Spring Bean的生命周期,大概要按照以下步骤去做:

步骤1:实例化一个Bean,也就是我们通常说的new;
步骤2:按照Spring上下文对实例化的Bean进行配置,也就是IOC注入;
步骤3:如果这个Bean实现了BeanNameAware接口,会调用它实现的setBeanName(String beanId)方法,此处传递的是Spring配置文件中Bean的ID;
步骤4:如果这个Bean实现了BeanFactoryAware接口,会调用它实现的setBeanFactory(),传递的是Spring工厂本身(可以用这个方法获取到其他Bean);
步骤5:如果这个Bean实现了ApplicationContextAware接口,会调用;setApplicationContext(ApplicationContext)方法,传入Spring上下文,该方式同样可以实现步骤4,但比4更好,以为ApplicationContext是BeanFactory的子接口,有更多的实现方法;
步骤6:如果这个Bean关联了BeanPostProcessor接口,将会调用postProcessBeforeInitialization(Object obj, String s)方法,BeanPostProcessor经常被用作是Bean内容的更改,并且由于这个是在Bean初始化结束时调用After方法,也可用于内存或缓存技术;
步骤7:如果这个Bean在Spring配置文件中配置了init-method属性会自动调用其配置的初始化方法;
步骤8. 如果这个Bean关联了BeanPostProcessor接口,将会调用postAfterInitialization方法。需要注意:以上工作完成以后就可以用这个Bean了,那这个Bean是一个single的,所以一般情况下我们调用同一个ID的Bean会是在内容地址相同的实例;
步骤9:当Bean不再需要时,会经过清理阶段,如果Bean实现了DisposableBean接口,会调用其实现的destroy方法;
步骤10:最后,如果这个Bean的Spring配置中配置了destroy-method属性,会自动调用其配置的销毁方法。
以上就是管理Spring Bean生命周期的十大步骤解析。相信大家看到这里,对于刚开始的问题已经有自己的答案了。关于Java的更多答疑解惑,敬请关注博学谷Java栏目的资讯更新。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Java基础开发的集合类都有哪些?主要方法有什么?
你所知道的Java基础开发的集合类都有哪些?主要方法有什么?最常用的集合类是 List 和 Map。 List 的具体实现包括ArrayList 和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象的元素列表。 List 适用于按数值索引访问元素的情形。
7900
2019-06-03 11:16:40
Java垃圾回收器相关问题解答
相信很许多人在学习Java的时候,都没有搞清楚过Java垃圾回收器。因此本文主要讲述了Java垃圾回收器的定义、性能评估工具、回收算法等等内容,为大家全面解答垃圾回收器的相关问题。
5622
2019-08-20 15:55:44
Java基础语法之运算符笔记整理
一般来讲,Java程序的基本组成要素有两个,一个是表达式,另一个就是运算符。运算符作为Java基础语法的一个重要知识点,是学习的根基。本文为大家整理了十分全面的运算符学习笔记,学过这部分基础知识的同学,可以复习梳理一遍。没学过的同学可以结合博学谷Java就业班的试学视频一起学习,相信知识点的思路会更加清晰。
6014
2019-12-05 14:58:40
Java基础语法学习DQL查询语句
DQL查询语句只是一种显示数据的方式,因此不会对数据库中的数据进行修改。简单来讲,DQL查询语句有以下四种查询方法,分别是排序查询、聚合函数、分组查询和分页查询。今天要学习的Java基础语法就是关于DQL查询语句的四种查询方式介绍,需要学习了解这方面知识点的小伙伴,一起来看看相关知识点的梳理吧!
5155
2020-01-08 10:43:28
MySQL学习总结之DQL查询语句
DQL查询语句又叫数据库查询语句,这是Java学习者在学习MySQL时,必须了解和掌握的知识点之一。众所周知,DQL查询语句有四种查询方式:排序查询、聚合函数、分组查询和分页查询。下面让我们一一仔细梳理这四种查询方式,有需要学习的小伙伴赶紧来看看MySQL学习总结之DQL查询语句的知识点吧!
5348
2020-02-11 23:24:05
