说一说SpringBoot的CommandLineRunner,SrpingBoot启动后可以自动执行的类
通常的项目都会有一些需要自动加载到内存或者是缓存中的一些静态数据内容,而这些内容通常都会安排在项目启动之后就进行自动的加载。这些内容可以可以放到项目启动的过程中进行加载,这样设计,比较省力,因为springboot提供的自动加载的类,可以自动的执行,减少了不少额外的工作,能够白嫖的东西自然就是好东西。下面就说一下如何使用,很简单,只要生成一个类,然后实现 CommandLineRunner接口就可以了。
执行的时机应该是项目应用启动之后,在日志输出的控制台上,可以看到是应用启动之后,然后开始加载这些自定义的工作内容。
import org.springframework.boot.CommandLineRunner; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; @Component @Order(value=1) public class MyStartUpRunner1 implements CommandLineRunner { @Override public void run(String... args) throws Exception { System.out.println("==============>>>>我的测试类, Order=1.啥都没有...<<<<=========="); } }
日志信息:
- Started AdminApplication in 7.843 seconds (JVM running for 8.765)
==============>>>>我的测试类, Order=1.啥都没有...<<<<==========
============ 服务器启动中....,开始加载缓存数据 ============