Java Spring:如何干净地终止原型范围的bean?
根据Spring文档,当bean被定义为“原型”时,Spring不会管理其对象的整个生命周期。更具体地说,不调用销毁生命周期回调。客户端代码必须执行所需的清理。spring文档还建议为此使用自定义bean后处理器。但是“BeanPostProcessor”接口只包括bean初始化前后的回调方法。没有用于说明回调的方法。那么,在哪里以及如何释放由原型范围的bean获得的资源呢?您要寻找的是DestructionAwareBeanPostProcessor,它是BeanPostProcessor的一个子接口Java Spring:如何干净地终止原型范围的bean?,java,spring,Java,Spring,根据Spring文档,当bean被定义为“原型”时,Spring不会管理其对象的整个生命周期。更具体地说,不调用销毁生命周期回调。客户端代码必须执行所需的清理。spring文档还建议为此使用自定义bean后处理器。但是“BeanPostProcessor”接口只包括bean初始化前后的回调方法。没有用于说明回调的方法。那么,在哪里以及如何释放由原型范围的bean获得的资源呢?您要寻找的是DestructionAwareBeanPostProcessor,它是BeanPostProcessor的一
您可以自己创建该接口的新实现,或使用其实现类之一,如CommonAnnotationBeanProcessor。终止原型范围bean的唯一干净方法是显式调用其一些“destroy”方法来处置资源。
您也可以使用。是关于不同参考类型的更多信息。@Raihan不确定这是否正确。医生说它只适用于单身人士,这是有道理的;因为Spring如何知道原型bean何时超出范围?有关此接口及其具体方法的详细信息,请查看: