关于spring boot使用定时器


上面一篇给大家介绍了关于spring 使用定时的入门 《spring 定时器注解的入门使用》

今天就说一下关于spring boot如何使用定时器,这里用的maven来集成的,下面还是按照步骤说吧。

 

1.引入包

其实这里还是比较简单的,只需要在pom.xml简单的继承spring-boot-starter-parent 就好了,具体如下:

 <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>2.0.2.RELEASE</version>
 </parent>

当然你也可以引入一些依赖,比如spring boot 的热部署 以及test包。

<!-- spring boot 热部署 --> 
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
    <scope>true</scope>
</dependency>

<!-- 测试包 -->
<dependency> 
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>

 

2.定时器启动类注解声明

关于启动类,需要在类上增加@EnableScheduling注解声明,开启定时器。

@SpringBootApplication
@EnableScheduling 
public class DemoStart { 
    public static void main(String[] args) {
        SpringApplication.run(DemoStart.class, args);
    }
}

 

3.具体定时实现类

到了这一步,就是相当于spring 已经把配置文件工作做好了,是不是发现spring boot so easy。

好了, 言归正传,还是说说spring boot定时器的使用,其实和spring注解使用一样。@Component注解声明类可被扫描到,@Scheduled决定定时策略。

下面贴上是spring boot定时器实现类代码:

@Component
public class TestTask {
    private int count=0;
    //6秒执行一次
    @Scheduled(cron="0/6 * * * * ?")
    private void process(){
        System.out.println("this is scheduler task runing  "+(count++));
    }
}

执行结果如下图:

当然如果想在建一个定时任务,可以直接在后面建一个方法,@Scheduled注解,声明定时策略就好。

@Component
public class TestTask {
    private int count=0;
    //6秒执行一次
    @Scheduled(cron="0/6 * * * * ?")
    private void process(){
        System.out.println("this is scheduler task runing  "+(count++));
    }
    //6秒执行一次
    @Scheduled(fixedRate = 6000)
    private void process2(){
        System.out.println("现在时间:" + dateFormat.format(new Date()));
    }
}

执行结果如下图:

可以看的出来,上面两种结果,都是已6秒执行一次。这是两种定义定时策略的方式:

一种是常用的corn表达式定义的,对与corn表达式有疑问可以看看,上面一篇 《spring 定时器注解的入门使用》文末对于corn表达式的介绍;

       另一种则是以毫秒级来定时。

 

 

 

 

 

 

 

打赏

未经允许不得转载:五二零九 » 关于spring boot使用定时器

赞 (0)
分享到:更多 ()