springboot~CommandLineRunner接口實現自動任務加載


CommandLineRunner接口可以實現任務的自動加載,當項目啟動完后,就會自動去執行CommandLineRunner接口里的run方法,你可以實現多個CommandLineRunner的實例,使用order來控制執行的順序!

/**
 * 項目啟動后自動運行的代碼CommandLineRunner
 */
@Component
@Order(1)
public class MyStartupRunner1 implements CommandLineRunner {
    private Logger logger = LoggerFactory.getLogger(MyStartupRunner1.class);

    @Override
    public void run(String... args) throws Exception {
        logger.info("MyStartupRunner1里的數據");
    }
}

@Component
@Order(2)
public class MyStartupRunner2 implements CommandLineRunner {
    private Logger logger = LoggerFactory.getLogger(MyStartupRunner1.class);

    @Override
    public void run(String... args) throws Exception {
        logger.info("MyStartupRunner2里的數據");

    }
}

程序在啟動之后,可以看到控制台的日志,它們被執行了。

2020-05-26 10:25:07.400  INFO 27788 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getUsingGET_1
2020-05-26 10:25:07.433  INFO 27788 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2020-05-26 10:25:07.435  INFO 27788 --- [           main] com.lind.basic.BasicApplication          : Started BasicApplication in 6.967 seconds (JVM running for 8.118)
2020-05-26 10:25:07.437  INFO 27788 --- [           main] com.lind.basic.init.MyStartupRunner1     : MyStartupRunner1里的數據
2020-05-26 10:25:07.437  INFO 27788 --- [           main] com.lind.basic.init.MyStartupRunner1     : MyStartupRunner2里的數據


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM