今天来盘点下在 SpringBoot 中,我们常用的几种在系统启动时执行任务的方法。
- 实现 CommandLineRunner 接口并实现 run 方法
可以看到项目启动后,run 方法自动执行了。
@Component 注解是必须的,通过这个注解把这个类放到 Spring 的 IOC 容器里,在项目启动时才会被扫描到。 - 通过 @PostConstruct 注解
被 @PostConstruct 标注的方法的方法名没有强制规定,不过一般我们都是叫 init
从运行结果我们也可以发现 @PostConstruct 注解的方法是优先于 run 方法的执行的。
第二种方法通常用于该任务与本service的业务有紧密联系的情况。
一般情况下,通用的任务是通过第一种方法来实现。