2023-09-16
原文作者:王伟王胖胖 原文地址: https://blog.csdn.net/wangwei19871103/article/details/105151552

DisposableBean接口方法

    public class DestroyBean implements DisposableBean {
    
    
        @Override
        public void destroy() throws Exception {
            System.out.println("DestroyBean DisposableBean的销毁回调");
        }
    
    }

202309162313153171.png

PreDestroy注解方法

    public class DestroyBean {
    
        @PreDestroy
        public void des() {
            System.out.println("DestroyBean @PPreDestroy的销毁回调");
        }
    
    
    }

202309162313158312.png

AutoCloseable接口方法

    public class DestroyBean implements AutoCloseable {
       
        public void close() {
            System.out.println("DestroyBean AutoCloseable的销毁回调");
        }
    
    }

202309162313161953.png

设置setDestroyMethodName

比如我用处理器来设置:

202309162313165964.png
确保有这个名字的方法:

    public class DestroyBean {
    
        public void myCustomDes(){
            System.out.println("DestroyBean 自定义销毁回调");
        }
    
    }

202309162313170895.png

方法名字推断出来的

首先必须是bean注解的。

202309162313175906.png
然后得有close或者shutdown方法,不能同时,优先close

      public class DestroyBean {
        public void close() {
            System.out.println("DestroyBean 根据方法名字close推断出来的销毁回调");
        }
    
    }

202309162313180647.png

      public class DestroyBean {
        public void shutdown() {
            System.out.println("DestroyBean 根据方法名字shutdown推断出来的销毁回调");
        }
    }

202309162313184448.png

可能还有其他的方法,看源码就好啦,里面都有,我就不演示了。

好了,今天就到这里了,希望对学习理解有帮助,大神看见勿喷,仅为自己的学习理解,能力有限,请多包涵。

阅读全文