Springboot的基础知识暂时先不在这里介绍,小编今天简单的介绍下怎么利用Springboot创建一个定时任务。
1、首先创建一个定时任务
package com.mingzhi.livedownload;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import com.mingzhi.livedownload.repository.VideoRepository;
/***
* 保存视频定时任务
*
* @authorTong
*
*/
@Component
publicclass ScheduledTask {
/***
* 保存视频的地址
*/
@Value("${saveAddress}")
private StringsaveAddress;
@Autowired
private VideoRepositoryvideoRepository;
@Scheduled(fixedRate = 1000)
public void reportCurrentTime() throws InterruptedException {
videoRepository.start(saveAddress);
}
}
@Scheduled 注解标明为一个定时任务;
fixedRate 表示每隔几分钟执行一次,上述例子标明隔一秒钟执行一次此任务。
2、写一个启动的方法类,如下所示
package com.mingzhi.livedownload;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
@EnableScheduling
public class Application implementsCommandLineRunner {
publicstatic void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
注意,这里写了一个main方法作为启动定时任务,在方法前面注意不要忘记加上以下两个注解。
@SpringBootApplication
@EnableScheduling
小结:
相对比较之下,Springboot的定时任务相对来说比较简单,没有复杂的配置文件进行配置,只用到简单的
注解就可以实现。