根据
Spring文档,当bean被限定为“原型”时,spring不会管理其对象的完整生命周期.更具体地说,不调用破坏生命周期回调.客户端代码必须执行所需的清理. Spring文档还建议为此使用自定义bean后处理器.但是“BeanPostProcessor”接口只包括在初始化bean之前和之后的回调方法.没有方法来解决回调.那么在哪里和如何释放由原型范围的bean获得的资源?
解决方法
您正在寻找的是DestructionAwareBeanPostProcessor,它是BeanPostProcessor的子接口.
您可以自己创建该接口的新实现,或者使用其实现类之一,如CommonAnnotationBeanProcessor.