Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 弹簧芯。默认@Bean销毁方法_Java_Spring_Release - Fatal编程技术网

Java 弹簧芯。默认@Bean销毁方法

Java 弹簧芯。默认@Bean销毁方法,java,spring,release,Java,Spring,Release,我有自己的豆子: @Bean public MyBean myBean(){... 在spring文档发布自己的资源之后,我应该指定destromethod。如果没有直接指定destromethod,我还没有找到spring调用的任何默认destroy方法 我曾经 @Bean(destroyMethod = "close") public MyBean myBean(){... 但考虑一下,若默认情况下destroy方法有值,那个么不直接指定destroy方法的可能性 spring是否在默

我有自己的豆子:

@Bean
public MyBean myBean(){...
在spring文档发布自己的资源之后,我应该指定
destromethod
。如果没有直接指定
destromethod
,我还没有找到spring调用的任何默认destroy方法

我曾经

@Bean(destroyMethod = "close")
public MyBean myBean(){...
但考虑一下,若默认情况下destroy方法有值,那个么不直接指定destroy方法的可能性


spring是否在默认情况下尝试了类似于
销毁
关闭
释放

若spring在默认情况下尝试了一些方法来释放资源—哪些方法?

您可以扩展该类。它提供的方法之一是Spring调用的
destroy
方法。这样,当您使用
DisposableBean
接口时,您不必提供任何实现。您可以实现一个方法,该方法将在销毁之前执行,并使用
@PreDestroy

@PreDestroy
public void methodName() {
    //Your code..
}

org.springframework.beans.factory.DisposableBean接口指定一个方法−

void destroy() throws Exception;
简单地实现它−

public class ExampleBean implements DisposableBean {
   public void destroy() {
      // do some destruction work
   }
}
用于基于XML的配置

<bean id = "exampleBean" class = "examples.ExampleBean" destroy-method = "destroy"/>
或用@PreDestroy注释,如以下文件所述:

为了方便用户,容器将尝试推断 针对从
@Bean
方法返回的对象销毁方法。对于 例如,给定一个返回ApacheCommons DBCP的
@Bean
方法
BasicDataSource
,容器将注意到
close()
方法 在该对象上可用,并自动将其注册为
销毁方法
。这种“销毁方法推断”目前是有限的 只检测public,不检测名为“close”或“shutdown”的arg方法

换句话说,如果您没有指定
destroyMethod
,但是bean有一个public
close()
shutdown()
方法,它将自动用作destroy方法


若要禁用此推断,请使用
@Bean(destroyMethod=“”)

我认为不清楚。您需要一个类似
@PreDestroy
@Bean(destroyMethod=“…””
的注释,或者实现
DisposableBean
。我现在也可以看到它,谢谢。这部分我已经红了好几次了,但是没看到,对不起。
public class ExampleBean {
   public void destroy() {
      // do some destruction work
   }
}