Spring中Bean創(chuàng)建完后打印語句的兩種方法
Bean的生命周期
Bean的生命周期包括四個階段:
實例化階段(Instantiation):容器通過調用構造函數(shù)或者工廠方法來創(chuàng)建Bean的實例。
屬性賦值階段(Populate properties):容器將相應的屬性值設置給Bean的實例,可以通過setter方法、直接字段注入或者其他自定義的方式完成屬性賦值。
初始化階段(Initialization):在Bean的屬性賦值完成后,容器會調用相關的初始化方法(如果有的話),如實現(xiàn)了InitializingBean接口的afterPropertiesSet()方法,或者通過@Bean注解的initMethod屬性指定的方法。開發(fā)者可以在初始化方法中進行一些額外的操作,例如數(shù)據(jù)校驗、初始化資源等。
使用階段(In use):
經(jīng)過初始化階段后,Bean進入可用狀態(tài),可以被容器及其他對象使用。
銷毀階段(Destruction):當Bean不再被使用時,容器可以對其進行銷毀操作。這包括調用實現(xiàn)了DisposableBean接口的destroy()方法,或者通過@Bean注解的destroyMethod屬性指定的方法。開發(fā)者可以在銷毀方法中釋放資源、關閉連接等。
兩種方式在Bean創(chuàng)建完后打印語句(Bean的初始化階段)
實現(xiàn)InitializingBean接口:
創(chuàng)建一個類,實現(xiàn)InitializingBean接口。
在該類中實現(xiàn)afterPropertiesSet()方法,在該方法中編寫創(chuàng)建Bean后要執(zhí)行的操作,例如打印語句。
當Bean被創(chuàng)建后,容器會自動調用afterPropertiesSet()方法。
代碼示例:
import org.springframework.beans.factory.InitializingBean;
public class MyBean implements InitializingBean {
@Override
public void afterPropertiesSet() throws Exception {
System.out.println("Bean已創(chuàng)建。");
}
}使用@Bean注解和initMethod屬性:
在Bean對應的配置類中,使用@Bean注解定義Bean的創(chuàng)建方法。
在@Bean注解中,使用initMethod屬性指定在Bean創(chuàng)建后要調用的初始化方法。
在初始化方法中,編寫需要執(zhí)行的操作,例如打印語句。
代碼示例:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class AppConfig {
@Bean(initMethod = "init")
public MyBean myBean() {
return new MyBean();
}
}
public class MyBean {
public void init() {
System.out.println("Bean已創(chuàng)建。");
}
}最后
無論使用哪種方式,當Bean被創(chuàng)建后,打印語句將會在初始化階段執(zhí)行。
具體使用哪種方式都可以,當然根據(jù)具體的場景選擇適合的方式最好。
到此這篇關于Spring中Bean創(chuàng)建完后打印語句的兩種方法的文章就介紹到這了,更多相關Spring Bean打印語句內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
基于SpringBoot+Tess4j實現(xiàn)圖像文字識別功能
文章介紹了Tesseract?OCR技術及其Java封裝庫Tess4j,并詳細描述了如何在SpringBoot項目中集成和使用Tess4j進行圖像識別,文章涵蓋了下載字體庫、配置SpringBoot項目、編寫測試代碼及圖片識別測試等步驟,并提供了中文、英文及中英混合識別的實戰(zhàn)示例,需要的朋友可以參考下2026-04-04
SpringBoot2.x實現(xiàn)給Controller的RequestMapping添加統(tǒng)一前綴
這篇文章主要介紹了SpringBoot2.x實現(xiàn)給Controller的RequestMapping添加統(tǒng)一前綴,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02
Springboot修改post請求接口入?yún)⒒蛑匦沦x值方式
這篇文章主要介紹了Springboot修改post請求接口入?yún)⒒蛑匦沦x值方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-05-05

