有两种原因:
1. 创建的ClassPathXmlApplicationContext由ApplicationContext接收,因为容器在没执行完成之前就已经关闭了,所以需要手动close(关闭)掉,但ApplicationContext没有close方法,所有并不能执行,会提前关闭

解决方法:就是将ApplicationContext改为ClassPathXmlApplicationContext接收。
在这里插入图片描述

2.bean实例的作用范围定义为prototype(多例)之后就不能使用PreDestroy注解了

解决方法:scope中将prototype改为singleton
在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐