spring注解如何為bean指定InitMethod和DestroyMethod
更新時間:2021年11月18日 16:52:06 作者:qq_36722039
這篇文章主要介紹了spring注解如何為bean指定InitMethod和DestroyMethod,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
spring注解為bean指定InitMethod和DestroyMethod
/** * 指定組建的init方法和destroy的幾種方法 * 1:在配置類中 @Bean(initMethod = "init",destroyMethod = "destory")注解指定 * 2:實現(xiàn)InitializingBean接口重寫其afterPropertiesSet方法,實現(xiàn)DisposableBean接口重寫destroy方法 * 3:利用java的JSR250規(guī)范中的@PostConstruct標(biāo)注在init方法上,@PreDestroy標(biāo)注在destroy注解上 */
需要注意的是:
- 單實例bean:容器啟動時創(chuàng)建對象
- 多實例bean:每次獲取時創(chuàng)建對象
初始化:
- 對象創(chuàng)建完成,賦值完成,調(diào)用初始化方法
銷毀:
- 單實例:容器關(guān)閉時調(diào)用
- 多實例:容器不會銷毀,只能手動調(diào)用銷毀方法
下面是具體代碼
Car.java
public class Car { public Car() { System.out.println("Car's Constructor.."); } public void init(){ System.out.println("Car's Init..."); } public void destory(){ System.out.println("Car's Destroy..."); } }
配置類
@Bean(initMethod = "init",destroyMethod = "destory") public Car car(){ return new Car(); }
注意@Bean中的initMethod和destroyMethod
@Configuration public class AppConfig { @Bean(initMethod = "init") public Foo foo() { return new Foo(); } @Bean(destroyMethod = "cleanup") public Bar bar() { return new Bar(); } }
上述代碼中initMethod和destroyMethod后面沒有括號。
記住千萬不要帶括號。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot與SpringSecurity整合方法附源碼
這篇文章主要介紹了SpringBoot與SpringSecurity整合,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01Spring Boot讀取resources目錄文件方法詳解
這篇文章主要介紹了Spring Boot讀取resources目錄文件方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-01-01