在Spring Boot應用啟動時如何執行程式碼? -Dukesletter
有時,您的應用程式需要在啟動時載入或預處理一些資訊。如果您正在使用像Spring Boot這樣的複雜框架來管理物件的生命週期,那麼何時才是正確的時刻?spring提供了哪些機制來執行該過程?
Spring Boot具有多種機制,Tom Hombergs在以下文章中總結了主要機制:“ 在Spring Boot應用程式啟動時執行程式碼 ”。
作為個人建議:切勿使用@PostConstruct或載入或處理資訊InitializingBean。
Spring在建立應用程式上下文時會呼叫這些方法,並且該過程在主執行緒中執行,從而鎖定了其他初始化過程。如果您有多個帶有的物件@PostConstruct,它們將在主執行緒中按順序執行,並且您不知道執行的順序。
我個人更喜歡使用CommandLineRunner,ApplicationRunner或者ApplicationListener,因為一旦應用程式上下文已經建立,包括HTTP容器(Tomcat或碼頭),它們被執行,因為上下文已準備就緒,你可以並行執行多個程式。
如果要正確管理如何用訊號通知容器的就緒狀態,則如何初始化伺服器很重要。
相關文章
- Spring Boot 應用程式啟動流程分析Spring Boot
- 如何在Spring Boot應用啟動之後立刻執行一段邏輯Spring Boot
- 如何讓spring boot 啟動後就執行某個方法Spring Boot
- 在GraalVM中部署執行Spring Boot應用 - Indrek OtsLVMSpring Boot
- 利用神器BTrace 追蹤線上 Spring Boot應用執行時資訊Spring Boot
- Springboot啟動時執行指定程式碼Spring Boot
- 如何在Docker容器啟動時自動執行指令碼Docker指令碼
- Spring Boot 3用CDS提升20%啟動時間Spring Boot
- 如何在Spring Boot應用程式中啟用GZIP壓縮? | 前端後端Spring Boot前端後端
- 在外部tomcat中執行spring boot應用TomcatSpring Boot
- 如何執行Spring Boot專案Spring Boot
- 你知道如何自動儲存 Spring Boot 應用程式號嗎Spring Boot
- Hazelcast JET在Spring Boot上執行ASTSpring Boot
- 如何在 Linux 啟動時自動執行命令或指令碼Linux指令碼
- 啟動vi時自動執行的指令碼指令碼
- Spring Boot 2.0(七):Spring Boot 如何解決專案啟動時初始化資源Spring Boot
- 關閉應用程式時如何關閉子執行緒執行緒
- HttpRuntime應用程式的執行時HTTP
- [maven][spring boot] mvn spring-boot:run啟動時,指定pom檔案MavenSpring Boot
- Spring boot應用如何支援httpsSpring BootHTTP
- 如何預熱Spring Boot應用? - sebsteinSpring Boot
- 使用lazyInit縮短Spring Boot啟動時間Spring Boot
- Spring Boot原始碼分析-啟動過程Spring Boot原始碼
- 在Spring Boot中建立自己的啟動器Spring Boot
- 如何測量程式碼執行時間
- Spring Boot應用程式有哪些功能?Spring Boot
- Spring Boot 應用程式中的 QueryDSLSpring Boot
- Spring Boot啟動流程Spring Boot
- spring-boot啟動Springboot
- TechTool Pro要求在應用程式啟動時安裝助手工具
- Linux啟動/關機時執行指令碼Linux指令碼
- 在 WASI 上執行 .NET 7 應用程式
- Linux 檢視程式啟動時間、執行時間Linux
- 京東一面:如何在SpringBoot啟動時執行特定程式碼?有哪些方式?Spring Boot
- 在Spring Boot應用程式中使用Kubernetes ConfigMapSpring Boot
- 延緩Spring Boot啟動時間直到資料庫啟動的方法和原始碼 - MartenSpring Boot資料庫原始碼
- 如何優雅地停止 Spring Boot 應用?Spring Boot
- 使用 ARChon 執行時環境在 Ubuntu 上執行 Android 應用UbuntuAndroid