
- Spring Boot 教程
- Spring Boot - 首頁
- Spring Boot - 簡介
- Spring Boot - 快速入門
- Spring Boot - 引導
- Spring Tool Suite
- Spring Boot - Tomcat 部署
- Spring Boot - 構建系統
- Spring Boot - 程式碼結構
- Spring Bean & 依賴注入
- Spring Boot - 執行器
- Spring Boot - 啟動器
- Spring Boot - 應用程式屬性
- Spring Boot - 配置
- Spring Boot - 註解
- Spring Boot - 日誌記錄
- 構建 RESTful Web 服務
- Spring Boot - 異常處理
- Spring Boot - 攔截器
- Spring Boot - Servlet 過濾器
- Spring Boot - Tomcat 埠號
- Spring Boot - Rest 模板
- Spring Boot - 檔案處理
- Spring Boot - 服務元件
- Spring Boot - Thymeleaf
- 使用 RESTful Web 服務
- Spring Boot - CORS 支援
- Spring Boot - 國際化
- Spring Boot - 排程
- Spring Boot - 啟用 HTTPS
- Spring Boot - Eureka 伺服器
- 使用 Eureka 註冊服務
- 閘道器代理伺服器和路由
- Spring Cloud 配置伺服器
- Spring Cloud 配置客戶端
- Spring Boot - 執行器
- Spring Boot - 管理伺服器
- Spring Boot - 管理客戶端
- Spring Boot - 啟用 Swagger2
- Spring Boot - 使用 SpringDoc OpenAPI
- Spring Boot - 建立 Docker 映象
- 跟蹤微服務日誌
- Spring Boot - Flyway 資料庫
- Spring Boot - 傳送電子郵件
- Spring Boot - Hystrix
- Spring Boot - WebSocket
- Spring Boot - 批處理服務
- Spring Boot - Apache Kafka
- Spring Boot - Twilio
- Spring Boot - 單元測試用例
- Rest Controller 單元測試
- Spring Boot - 資料庫處理
- 保護 Web 應用程式
- Spring Boot - 使用 JWT 的 OAuth2
- Spring Boot - Google Cloud Platform
- Spring Boot - Google OAuth2 登入
- Spring Boot 資源
- Spring Boot - 快速指南
- Spring Boot - 有用資源
- Spring Boot - 討論
Spring Boot - 執行器
Application Runner 和 Command Line Runner 介面允許您在 Spring Boot 應用程式啟動後執行程式碼。您可以使用這些介面在應用程式啟動後立即執行任何操作。本章詳細介紹了它們。
Application Runner
Application Runner 是一個用於在 Spring Boot 應用程式啟動後執行程式碼的介面。下面的示例顯示瞭如何在主類檔案上實現 Application Runner 介面。
DemoApplication.java
package com.tutorialspoint.demo; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication implements ApplicationRunner { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } @Override public void run(ApplicationArguments arg0) throws Exception { System.out.println("Hello World from Application Runner"); } }
控制檯輸出
現在,如果您觀察下面的控制檯視窗輸出Hello World from Application Runner,則 println 語句在 Tomcat 啟動後執行。
. ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ [32m :: Spring Boot :: [39m [2m (v3.3.3)[0;39m [2m2024-09-04T12:05:41.902+05:30[0;39m [32m INFO[0;39m [35m12304[0;39m [2m---[0;39m [2m[demo] [ main][0;39m [2m[0;39m[36mc.tutorialspoint.demo.DemoApplication [0;39m [2m:[0;39m Starting DemoApplication using Java 21.0.3 with PID 12304 (E:\Dev\demo\target\classes started by Tutorialspoint in E:\Dev\demo) [2m2024-09-04T12:05:41.905+05:30[0;39m [32m INFO[0;39m [35m12304[0;39m [2m---[0;39m [2m[demo] [ main][0;39m [2m[0;39m[36mc.tutorialspoint.demo.DemoApplication [0;39m [2m:[0;39m No active profile set, falling back to 1 default profile: "default" [2m2024-09-04T12:05:43.427+05:30[0;39m [32m INFO[0;39m [35m12304[0;39m [2m---[0;39m [2m[demo] [ main][0;39m [2m[0;39m[36mo.s.b.w.embedded.tomcat.TomcatWebServer [0;39m [2m:[0;39m Tomcat initialized with port 8080 (http) [2m2024-09-04T12:05:43.454+05:30[0;39m [32m INFO[0;39m [35m12304[0;39m [2m---[0;39m [2m[demo] [ main][0;39m [2m[0;39m[36mo.apache.catalina.core.StandardService [0;39m [2m:[0;39m Starting service [Tomcat] [2m2024-09-04T12:05:43.454+05:30[0;39m [32m INFO[0;39m [35m12304[0;39m [2m---[0;39m [2m[demo] [ main][0;39m [2m[0;39m[36mo.apache.catalina.core.StandardEngine [0;39m [2m:[0;39m Starting Servlet engine: [Apache Tomcat/10.1.28] [2m2024-09-04T12:05:43.528+05:30[0;39m [32m INFO[0;39m [35m12304[0;39m [2m---[0;39m [2m[demo] [ main][0;39m [2m[0;39m[36mo.a.c.c.C.[Tomcat].[localhost].[/] [0;39m [2m:[0;39m Initializing Spring embedded WebApplicationContext [2m2024-09-04T12:05:43.529+05:30[0;39m [32m INFO[0;39m [35m12304[0;39m [2m---[0;39m [2m[demo] [ main][0;39m [2m[0;39m[36mw.s.c.ServletWebServerApplicationContext[0;39m [2m:[0;39m Root WebApplicationContext: initialization completed in 1552 ms [2m2024-09-04T12:05:44.120+05:30[0;39m [32m INFO[0;39m [35m12304[0;39m [2m---[0;39m [2m[demo] [ main][0;39m [2m[0;39m[36mo.s.b.w.embedded.tomcat.TomcatWebServer [0;39m [2m:[0;39m Tomcat started on port 8080 (http) with context path '/' [2m2024-09-04T12:05:44.134+05:30[0;39m [32m INFO[0;39m [35m12304[0;39m [2m---[0;39m [2m[demo] [ main][0;39m [2m[0;39m[36mc.tutorialspoint.demo.DemoApplication [0;39m [2m:[0;39m Started DemoApplication in 3.007 seconds (process running for 4.519) Hello World from Application Runner
Command Line Runner
Command Line Runner 是一個介面。它用於在 Spring Boot 應用程式啟動後執行程式碼。下面的示例顯示瞭如何在主類檔案上實現 Command Line Runner 介面。
DemoApplication.java
package com.tutorialspoint.demo; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication implements CommandLineRunner { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } @Override public void run(String... arg0) throws Exception { System.out.println("Hello world from Command Line Runner"); } }
控制檯輸出
檢視下面的控制檯視窗輸出“Hello world from Command Line Runner” println 語句在 Tomcat 啟動後執行。
. ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ [32m :: Spring Boot :: [39m [2m (v3.3.3)[0;39m [2m2024-09-04T12:08:37.804+05:30[0;39m [32m INFO[0;39m [35m16908[0;39m [2m---[0;39m [2m[demo] [ main][0;39m [2m[0;39m[36mc.tutorialspoint.demo.DemoApplication [0;39m [2m:[0;39m Starting DemoApplication using Java 21.0.3 with PID 16908 (E:\Dev\demo\target\classes started by Tutorialspoint in E:\Dev\demo) [2m2024-09-04T12:08:37.808+05:30[0;39m [32m INFO[0;39m [35m16908[0;39m [2m---[0;39m [2m[demo] [ main][0;39m [2m[0;39m[36mc.tutorialspoint.demo.DemoApplication [0;39m [2m:[0;39m No active profile set, falling back to 1 default profile: "default" [2m2024-09-04T12:08:38.772+05:30[0;39m [32m INFO[0;39m [35m16908[0;39m [2m---[0;39m [2m[demo] [ main][0;39m [2m[0;39m[36mo.s.b.w.embedded.tomcat.TomcatWebServer [0;39m [2m:[0;39m Tomcat initialized with port 8080 (http) [2m2024-09-04T12:08:38.786+05:30[0;39m [32m INFO[0;39m [35m16908[0;39m [2m---[0;39m [2m[demo] [ main][0;39m [2m[0;39m[36mo.apache.catalina.core.StandardService [0;39m [2m:[0;39m Starting service [Tomcat] [2m2024-09-04T12:08:38.786+05:30[0;39m [32m INFO[0;39m [35m16908[0;39m [2m---[0;39m [2m[demo] [ main][0;39m [2m[0;39m[36mo.apache.catalina.core.StandardEngine [0;39m [2m:[0;39m Starting Servlet engine: [Apache Tomcat/10.1.28] [2m2024-09-04T12:08:38.841+05:30[0;39m [32m INFO[0;39m [35m16908[0;39m [2m---[0;39m [2m[demo] [ main][0;39m [2m[0;39m[36mo.a.c.c.C.[Tomcat].[localhost].[/] [0;39m [2m:[0;39m Initializing Spring embedded WebApplicationContext [2m2024-09-04T12:08:38.842+05:30[0;39m [32m INFO[0;39m [35m16908[0;39m [2m---[0;39m [2m[demo] [ main][0;39m [2m[0;39m[36mw.s.c.ServletWebServerApplicationContext[0;39m [2m:[0;39m Root WebApplicationContext: initialization completed in 980 ms [2m2024-09-04T12:08:39.185+05:30[0;39m [32m INFO[0;39m [35m16908[0;39m [2m---[0;39m [2m[demo] [ main][0;39m [2m[0;39m[36mo.s.b.w.embedded.tomcat.TomcatWebServer [0;39m [2m:[0;39m Tomcat started on port 8080 (http) with context path '/' [2m2024-09-04T12:08:39.192+05:30[0;39m [32m INFO[0;39m [35m16908[0;39m [2m---[0;39m [2m[demo] [ main][0;39m [2m[0;39m[36mc.tutorialspoint.demo.DemoApplication [0;39m [2m:[0;39m Started DemoApplication in 1.844 seconds (process running for 2.693) Hello world from Command Line Runner
廣告