spring bean 对象的生命周期
java
it书童
2020-08-19 11:47:29
0赞
0踩
702阅读
0评论
不同对象的生命周期不同,分为单例对象与多例对象
单例对象
出生:当容器创建时对象出生
活着:只要容器还在,对象一直活着
死亡:容器销毁,对象消亡
总结:单例对象的生命周期和容器相同
public class AccountServiceImpl implements IAccountService {
public AccountServiceImpl() {
System.out.println("对象创建了");
}
@Override
public void saveAccount() {
System.out.println("service 中的 saveAccount 方法执行了");
}
public void init() {
System.out.println("对象初始化");
}
public void destroy() {
System.out.println("对象销毁");
}
}
配置 bean.xml
<bean id="accountService"
class="com.itshutong.service.impl.AccountServiceImpl"
scope="singleton"
init-method="init"
destroy-method="destroy" />
调用
ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
IAccountService as = (IAccountService) ac.getBean("accountService");
as.saveAccount();
// 手动关闭容器,触发 bean 对象的销毁方法
ac.close();
结果
多例对象
出生:当我们使用对象时spring框架为我们创建
活着:对象只要是在使用过程中就一直活着。
死亡:当对象长时间不用,且没有别的对象引用时,由Java的垃圾回收器回
将以上代码的配置文件改为多例对象
<bean id="accountService"
class="com.itshutong.service.impl.AccountServiceImpl"
scope="prototype"
init-method="init"
destroy-method="destroy" />
再次调用,发现即使容器关闭了,多例对象也不会被销毁。而是等待 java 的垃圾回收
- 上一篇: spring bean 对象的作用范围
- 下一篇: spring DI 依赖注入

关于我
一个文科出身的程序员,追求做个有趣的人,传播有价值的知识,微信公众号主要分享读书思考心得,不会有代码类文章,非程序员的同学请放心订阅
转载须注明出处:https://www.itshutong.com/articles/637/the-life-cycle-of-spring-bean-objects
精品付费
这一次,真正掌握composer
2603
0
个人开发者通过payjs接入微信支付
4815
0
相关推荐
java 运算符
667
0
java 抽象方法和抽象类
748
0
初识 SpringCloud
766
0
maven 标准目录结构
993
0
JPA的API介绍
1043
0
自定义框架输出 jsp 页面
902
0
java通过实现Runnable接口创建线程类
1022
0
java转换流
1006
0
jstack 的使用
971
0