- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) > 編程語(yǔ)言 >
- Spring Boot 項目啟動(dòng)自動(dòng)執行方法的兩種實(shí)現方式
springboot項目啟動(dòng)成功后執行一段代碼,如系統常量,配置、代碼集等等初始化操作;執行多個(gè)方法時(shí),執行順序使用Order注解或Order接口來(lái)控制。
Springboot給我們提供了兩種方式
package org.mundo.demo.core; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; @Component @Order(2) public class ApplicationRunnerImpl implements ApplicationRunner { @Override public void run(ApplicationArguments args) throws Exception { System.out.println("通過(guò)實(shí)現ApplicationRunner接口,在spring boot項目啟動(dòng)后執行代碼..."); } }
package org.mundo.demo.core; import org.springframework.boot.CommandLineRunner; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; @Component @Order(1) public class CommandLineRunnerImpl implements CommandLineRunner { @Override public void run(String... args) throws Exception { System.out.println("通過(guò)實(shí)現CommandLineRunner接口,在spring boot項目啟動(dòng)后執行代碼..."); } }
相同點(diǎn):這兩種方法提供的目的是為了滿(mǎn)足,在項目啟動(dòng)的時(shí)候立刻執行某些方法,都是在SpringApplication 執行之后開(kāi)始執行的。
不同點(diǎn):CommandLineRunner接口可以用來(lái)接收字符串數組的命令行參數,ApplicationRunner 是使用ApplicationArguments 用來(lái)接收參數的
1、執行順序可以使用注解@Order或者Ordered接口,注解@Order或者接口Ordered的作用是定義Spring IOC容器中Bean的執行順序的優(yōu)先級,而不是定義Bean的加載順序,Bean的加載順序不受@Order或Ordered接口的影響;
2、當項目中同時(shí)實(shí)現了ApplicationRunner和CommondLineRunner接口時(shí),可使用Order注解或實(shí)現Ordered接口來(lái)指定執行順序,值越小,越優(yōu)先執行
3、注解有一個(gè)int類(lèi)型的參數,可以不傳,默認是最低優(yōu)先級;
以上就是Spring Boot 項目啟動(dòng)自動(dòng)執行方法的兩種實(shí)現方式的詳細內容,更多關(guān)于Spring Boot 項目啟動(dòng)自動(dòng)執行方法的資料請關(guān)注腳本之家其它相關(guān)文章!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站