spring注解如何為bean指定InitMethod和DestroyMethod
spring注解為bean指定InitMethod和DestroyMethod
/** * 指定組建的init方法和destroy的幾種方法 * 1:在配置類中 @Bean(initMethod = "init",destroyMethod = "destory")注解指定 * 2:實(shí)現(xiàn)InitializingBean接口重寫其afterPropertiesSet方法,實(shí)現(xiàn)DisposableBean接口重寫destroy方法 * 3:利用java的JSR250規(guī)范中的@PostConstruct標(biāo)注在init方法上,@PreDestroy標(biāo)注在destroy注解上 */
需要注意的是:
- 單實(shí)例bean:容器啟動(dòng)時(shí)創(chuàng)建對(duì)象
- 多實(shí)例bean:每次獲取時(shí)創(chuàng)建對(duì)象
初始化:
- 對(duì)象創(chuàng)建完成,賦值完成,調(diào)用初始化方法
銷毀:
- 單實(shí)例:容器關(guān)閉時(shí)調(diào)用
- 多實(shí)例:容器不會(huì)銷毀,只能手動(dòng)調(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后面沒(méi)有括號(hào)。
記住千萬(wàn)不要帶括號(hào)。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringMVC Json自定義序列化和反序列化的操作方法
這篇文章主要介紹了SpringMVC Json自定義序列化和反序列化的操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
Intellij Idea中批量導(dǎo)入第三方j(luò)ar包的全過(guò)程
引入jar包一般都是針對(duì)小的java項(xiàng)目,這篇文章主要給大家介紹了關(guān)于Intellij Idea中批量導(dǎo)入第三方j(luò)ar包的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2021-10-10
在springboot中實(shí)現(xiàn)個(gè)別bean懶加載的操作
這篇文章主要介紹了在springboot中實(shí)現(xiàn)個(gè)別bean懶加載的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10
Mybatis實(shí)現(xiàn)數(shù)據(jù)的增刪改查實(shí)例(CRUD)
本篇文章主要介紹了Mybatis實(shí)現(xiàn)數(shù)據(jù)的增刪改查實(shí)例(CRUD),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05
解決Mybatis-plus找不到對(duì)應(yīng)表及默認(rèn)表名命名規(guī)則的問(wèn)題
這篇文章主要介紹了解決Mybatis-plus找不到對(duì)應(yīng)表及默認(rèn)表名命名規(guī)則的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
SpringCloud使用Zookeeper作為配置中心的示例
這篇文章主要介紹了SpringCloud使用Zookeeper作為配置中心的示例,幫助大家更好的理解和學(xué)習(xí)使用SpringCloud,感興趣的朋友可以了解下2021-04-04
使用maven的profile構(gòu)建不同環(huán)境配置的方法
這篇文章主要介紹了使用maven的profile構(gòu)建不同環(huán)境配置的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01

