{"id":13337,"date":"2024-03-15T06:51:52","date_gmt":"2024-03-15T06:51:52","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-disposable-bean-in-spring\/"},"modified":"2025-08-05T16:44:17","modified_gmt":"2025-08-05T16:44:17","slug":"what-is-the-usage-of-disposable-bean-in-spring","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-disposable-bean-in-spring\/","title":{"rendered":"Spring DisposableBean Guide"},"content":{"rendered":"<p>In Spring, DisposableBean is an interface used to execute specific logic before a bean is destroyed, such as releasing resources or closing connections.<\/p>\n<p>The DisposableBean interface has only one method, destroy(), which Spring container automatically calls when a bean is destroyed. Developers can implement the DisposableBean interface and write their own destruction logic within the destroy() method.<\/p>\n<p>Here is an example of how to use DisposableBean:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">import<\/span> org.springframework.beans.factory.DisposableBean;\r\n\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">MyBean<\/span> <span class=\"hljs-keyword\">implements<\/span> <span class=\"hljs-title class_\">DisposableBean<\/span> {\r\n\r\n    <span class=\"hljs-meta\">@Override<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">destroy<\/span><span class=\"hljs-params\">()<\/span> <span class=\"hljs-keyword\">throws<\/span> Exception {\r\n        <span class=\"hljs-comment\">\/\/ \u6267\u884c\u9500\u6bc1\u903b\u8f91\uff0c\u6bd4\u5982\u5173\u95ed\u8fde\u63a5\u3001\u91ca\u653e\u8d44\u6e90\u7b49<\/span>\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>In the example above, when the Bean MyBean is being destroyed, Spring will automatically call the destroy() method to execute the destruction logic. Developers can write their own destruction logic in the destroy() method, such as closing database connections or releasing file resources.<\/p>\n<p>Instead of implementing the DisposableBean interface, you can also use the @PreDestroy annotation to mark the destruction method. The method marked with the @PreDestroy annotation will be called before the bean is destroyed, serving as an alternative to implementing the DisposableBean interface.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">import<\/span> javax.annotation.PreDestroy;\r\n\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">MyBean<\/span> {\r\n\r\n    <span class=\"hljs-meta\">@PreDestroy<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">destroy<\/span><span class=\"hljs-params\">()<\/span> <span class=\"hljs-keyword\">throws<\/span> Exception {\r\n        <span class=\"hljs-comment\">\/\/ \u6267\u884c\u9500\u6bc1\u903b\u8f91\uff0c\u6bd4\u5982\u5173\u95ed\u8fde\u63a5\u3001\u91ca\u653e\u8d44\u6e90\u7b49<\/span>\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>Whether implementing the DisposableBean interface or using the @PreDestroy annotation, you can execute specific logic before a Bean is destroyed to ensure proper release and closure of resources.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Spring, DisposableBean is an interface used to execute specific logic before a bean is destroyed, such as releasing resources or closing connections. The DisposableBean interface has only one method, destroy(), which Spring container automatically calls when a bean is destroyed. Developers can implement the DisposableBean interface and write their own destruction logic within the [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[17721,9653,9792,567,2523],"class_list":["post-13337","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-bean-lifecycle","tag-disposablebean","tag-java-spring","tag-resource-cleanup","tag-spring-framework"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Spring DisposableBean Guide - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn Spring DisposableBean usage: implement destroy() method for resource cleanup and bean destruction logic in Java Spring apps.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-disposable-bean-in-spring\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Spring DisposableBean Guide\" \/>\n<meta property=\"og:description\" content=\"Learn Spring DisposableBean usage: implement destroy() method for resource cleanup and bean destruction logic in Java Spring apps.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-disposable-bean-in-spring\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T06:51:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-05T16:44:17+00:00\" \/>\n<meta name=\"author\" content=\"Emily Johnson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Emily Johnson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-disposable-bean-in-spring\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-disposable-bean-in-spring\/\"},\"author\":{\"name\":\"Emily Johnson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378\"},\"headline\":\"Spring DisposableBean Guide\",\"datePublished\":\"2024-03-15T06:51:52+00:00\",\"dateModified\":\"2025-08-05T16:44:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-disposable-bean-in-spring\/\"},\"wordCount\":182,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"Bean Lifecycle\",\"DisposableBean\",\"Java Spring\",\"resource cleanup\",\"Spring Framework\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-disposable-bean-in-spring\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-disposable-bean-in-spring\/\",\"name\":\"Spring DisposableBean Guide - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T06:51:52+00:00\",\"dateModified\":\"2025-08-05T16:44:17+00:00\",\"description\":\"Learn Spring DisposableBean usage: implement destroy() method for resource cleanup and bean destruction logic in Java Spring apps.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-disposable-bean-in-spring\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-disposable-bean-in-spring\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-disposable-bean-in-spring\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Spring DisposableBean Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378\",\"name\":\"Emily Johnson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g\",\"caption\":\"Emily Johnson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/emilyjohnson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Spring DisposableBean Guide - Blog - Silicon Cloud","description":"Learn Spring DisposableBean usage: implement destroy() method for resource cleanup and bean destruction logic in Java Spring apps.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-disposable-bean-in-spring\/","og_locale":"en_US","og_type":"article","og_title":"Spring DisposableBean Guide","og_description":"Learn Spring DisposableBean usage: implement destroy() method for resource cleanup and bean destruction logic in Java Spring apps.","og_url":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-disposable-bean-in-spring\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T06:51:52+00:00","article_modified_time":"2025-08-05T16:44:17+00:00","author":"Emily Johnson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Emily Johnson","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-disposable-bean-in-spring\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-disposable-bean-in-spring\/"},"author":{"name":"Emily Johnson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378"},"headline":"Spring DisposableBean Guide","datePublished":"2024-03-15T06:51:52+00:00","dateModified":"2025-08-05T16:44:17+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-disposable-bean-in-spring\/"},"wordCount":182,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["Bean Lifecycle","DisposableBean","Java Spring","resource cleanup","Spring Framework"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-disposable-bean-in-spring\/","url":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-disposable-bean-in-spring\/","name":"Spring DisposableBean Guide - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T06:51:52+00:00","dateModified":"2025-08-05T16:44:17+00:00","description":"Learn Spring DisposableBean usage: implement destroy() method for resource cleanup and bean destruction logic in Java Spring apps.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-disposable-bean-in-spring\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-disposable-bean-in-spring\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-disposable-bean-in-spring\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Spring DisposableBean Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378","name":"Emily Johnson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g","caption":"Emily Johnson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/emilyjohnson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13337","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=13337"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13337\/revisions"}],"predecessor-version":[{"id":157301,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13337\/revisions\/157301"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=13337"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=13337"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=13337"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}