版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/NothingToSay01/article/details/84547841
在实际的开发任务中,我们这些软件开发屌丝很多时候希望代码能自动的执行某一块的业务,那样就不用再去多写接口去调用了。
以前springboot中实现定时任务的方式有两种,一种是spring自带的Task实现的,配置比较简单;一种是使用Quartz,功能齐全,但是配置相对复杂。
这里我们记录的是springboot的定时任务,相对于spring定时任务不管是配置还是功能都有一个很大的提升。解放了程序员的双手,而且功能还不失完整。
1:maven依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
只需要依赖spring-boot-starter即可
2:启动类添加@EnableScheduling注解
该注解的作用是是@Scheduler注解的方法在指定时间可以自动执行
@SpringBootApplication
@MapperScan("com.example.springBootmybatis.domain.mapper")
@EnableScheduling
public class SpringBootMybatisApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootMybatisApplication.class, args);
}
}
3:自动任务执行类
@Component
public class ScherdulerTask {
private int count = 1;
@Scheduled(cron = "*/1 * * * * ?")
private void process(){
System.out.println("这是第"+(count++)+"个自动任务");
}
}
4:启动项目,查看运行结果
这是第1个自动任务
这是第2个自动任务
这是第3个自动任务
这是第4个自动任务
这是第5个自动任务
这是第6个自动任务
这是第7个自动任务
这是第8个自动任务
在debug模式启动项目的时候,打印在console中的日志会报错
扫描二维码关注公众号,回复:
5013540 查看本文章
No qualifying bean of type 'org.springframework.scheduling.TaskScheduler' available
这是由于springBoot内部的自动任务类没有找到可执行的自动任务而抛出的异常,在run模式下不会报错的。
是不是很简单的就把springboot中自动任务配置完成了,比spring和第三方框架简单了很多。