每日一得--spring的bean销毁方法destroy-method="destory"为何不执行

本文探讨了Spring中bean初始化和销毁的三种配置方式:配置文件、注解和实现接口。特别指出在CS架构应用中,`destroy-method="destroy"`可能不执行,因为摧毁方法依赖容器调用,而在CS模式下,容器控制权不在Spring,只有在特定容器如Tomcat关闭时才会调用。对于`prototype`作用域的bean,Spring也不管理其生命周期。
摘要由CSDN通过智能技术生成
spring中bean初始化及销毁的三种配置方式:
1,配置文件配置
<bean id="personService" class="com.yokoboy.service.impl.PersonServiceBean"   init-method="init" destroy-method="destory" />

2,注解方式配置

	@PostConstruct
	public void innit() throws Exception {
		logger.info("innit start");
	}
	
	@PreDestroy
	public void destroy() throws Exception {
		logger.info("destroy start");
	}
3,通过实现InitializingBean,DisposableBean接口

@Service("userService")
@Scope("prototype")
public class UserServiceImpl implements UserService,InitializingBean,DisposableBean {
	private Logger logger = Logger.getLogger(UserServiceImpl.class);

	public void afterPropertiesSet() throws Exception {
		logger.info("afterPropertiesSet start");
	}
	public void destroy() throws Exception {
		logger.info("destroy start");
	}
}

在CS结构的应用程序中,destroy-method="destory" 这个配置基本上没有作用,因为 摧毁方法是由容器调用的,在CS应用程序中,只有程序员自己调用。再有,当scope是prototype的时候,对象的生存周期 Spring就不管了。只有在tomcat或者容器关闭的时候,由tomcat调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值