springboot 定时任务@Scheduled实现解析

 更新时间:2019年09月20日 12:00:55   作者:仅此而已-远方  
这篇文章主要介绍了springboot 定时任务@Scheduled实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了springboot 定时任务@Scheduled实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1、pom.xml中导入必要的依赖:

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

  <dependencies>
    <!-- SpringBoot 核心组件 -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
    </dependency>
  </dependencies>

2、写一个springboot的启动类:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.scheduling.annotation.EnableScheduling;
@ComponentScan(basePackages = { "com.xwj.tasks" })
@EnableScheduling // 开启定时任务
@EnableAutoConfiguration
public class App {
  public static void main(String[] args) {
    SpringApplication.run(App.class, args);
  }
}

注意这里一定要加上@EnableScheduling注解,用于开启定时任务

3、开始写定时任务:

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class ScheduleTask {
  @Scheduled(fixedRate = 1000)
  // @Scheduled(cron = "0 23-25 18 * * ?")
  public void testSchedule() {
    System.out.println("定时任务:" + System.currentTimeMillis());
  }
}

解释:

@Scheduled注解:

1、fixedRate 以固定速率执行。以上表示每隔1秒执行一次

2、fixedDelay 以上一个任务开始时间为基准,从上一任务开始执行后再次调用

3、cron表达式。可以实现定时调用。

在使用的过程中,楼主觉得,如果只有一个定时任务,fixedRate与fixedDelay的效果是一样一样的

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 使用springMVC通过Filter实现防止xss注入

    使用springMVC通过Filter实现防止xss注入

    这篇文章主要介绍了使用springMVC通过Filter实现防止xss注入的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • 一篇文章带你搞定JAVA泛型

    一篇文章带你搞定JAVA泛型

    泛型是Java中的高级概念,也是构建框架必备技能,比如各种集合类都是泛型实现的,今天详细聊聊Java中的泛型概念,希望有所收获
    2021-07-07
  • MyBatis中的XML实现和动态SQL实现示例详解

    MyBatis中的XML实现和动态SQL实现示例详解

    这篇文章主要介绍了MyBatis中的XML实现和动态SQL实现,我们可以将XML中重复出现的内容提取出来放到sql标签中,当需要用到sql标签中的内容时,用include标签将sql标签中的内容引进来即可,感兴趣的朋友跟随小编一起看看吧
    2024-02-02
  • Spring Cloud 专题之Sleuth 服务跟踪实现方法

    Spring Cloud 专题之Sleuth 服务跟踪实现方法

    这篇文章主要介绍了Spring Cloud 专题之Sleuth 服务跟踪,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • @Scheduled定时器原理及@RefreshScope相互影响

    @Scheduled定时器原理及@RefreshScope相互影响

    这篇文章主要为大家介绍了@Scheduled定时器原理及@RefreshScope相互影响详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • java扩展Hibernate注解支持java8新时间类型

    java扩展Hibernate注解支持java8新时间类型

    这篇文章主要介绍了java扩展Hibernate注解支持java8新时间类型,需要的朋友可以参考下
    2014-04-04
  • 一篇文章学会java死锁与CPU 100%的排查

    一篇文章学会java死锁与CPU 100%的排查

    这篇文章主要介绍了一篇文章学会java死锁与CPU 100%的排查,文中主要介绍了Java死锁以及服务器CPU占用率达到100%时的排查和解决方法,感兴趣的朋友一起来看一看吧
    2021-08-08
  • Java中字符串拼接的一些细节分析

    Java中字符串拼接的一些细节分析

    这篇文章主要介绍了Java中字符串拼接的一些细节分析,本文着重剖析了字符串拼接的一些性能问题、技巧等内容,需要的朋友可以参考下
    2015-01-01
  • SpringBoot整合RabbitMQ的5种模式的注解绑定详解

    SpringBoot整合RabbitMQ的5种模式的注解绑定详解

    这篇文章主要介绍了SpringBoot整合RabbitMQ的5种模式的注解绑定详解,RabbitMQ 是一个消息中间件,它接收消息并且转发,是"消费-生产者模型"的一个典型的代表,一端往消息队列中不断的写入消息,而另一端则可以读取或者订阅队列中的消息,需要的朋友可以参考下
    2024-01-01
  • SpringBoot项目微信云托管入门部署实践

    SpringBoot项目微信云托管入门部署实践

    本文主要介绍了SpringBoot项目微信云托管入门部署实践,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03

最新评论