SpringBoot 定时器简单使用,实现任务调度,spring+mybatis基础知识

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;

import org.springframework.scheduling.annotation.EnableScheduling;

/* 开启定时任务注解 */

@EnableScheduling

@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)

public class abcApplication {

public static void main(String[] args) {

SpringApplication.run(abcApplication.class, args);

}

}

②新建一个Service,我这边只单纯为了举例,就不分什么impl了:

/**

  • @Author: JCccc

  • @CreateTime: 2018-09-21

  • @Description: 定时器任务测试

*/

@Service

public class TaskService {

//方法

}

③在刚才建的Service类里面,开始添加方法,并使用@Scheduled  (这个用于定时器调度) :

举几个例子 做介绍:

@Scheduled(cron = "0 */1 * * * * ")

public void reportCurrentByCron(){

System.out.println ("定时每分钟执行一次 : " + dateFormat().format (new Date ()));

}

@Scheduled(fixedDelayString=“5000”)

public void delayLoop(){

System.out.println(“延迟5秒运行一次 :”+ dateFormat().format (new Date ()));

}

@Scheduled(fixedRate=1000)

public void delayLoop(){

System.out.println(“每秒运行一次 :”+ dateFormat().format (new Date ()));

}

@Scheduled(fixedDelay=1000)

public void delayLoop(){

System.out.println(“每秒运行一次 :”+ dateFormat().format (new Date ()));

}

@Scheduled(fixedRate=1000,initialDelay=2000)

public void delayLoop(){

System.out.println(“运行后延迟2秒运行,再每隔一秒运行一次 :” + dateFormat().format(new Date()));

}

@Scheduled(cron = “0,1,2,3,4,5,6 * * * * MON-SAT”)//每分钟的前面0,1,2,3,4,5,6秒都执行一次

public void runTask(){

System.out.println("定时每分钟

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

的前6秒发送推报 :" + new Date());

}

以上例子,看打印里面的中文就知道什么作用了。那么,我接下来介绍一下下。

首先,如果你认真看上面的例子,你就会发现,fixedRate 和 fixedDelay 这两个东西好像都是隔多少秒循环执行。

介绍及区别说明:

FixedRate----- > @Scheduled(fixedRate=5000)

第一个任务开始时间秒数为00:00:30;那么在5秒之后,35秒的时候,第二个任务就会立刻执行的。 若第一个任务执行划分10秒,第二个任务的执行并不会受影响,还是会在00:00:35秒的时候执行。

FixedDelay---- > @Scheduled(fixedDelay=5000)

第一个任务开始时间秒数为00:00:30;那么第二个任务执行的时候,必须是第一个任务执行完再等5秒之后才能执行。 若第一个任务执行花费10秒,那么就说00:00:40+5秒,也就是00:00:45秒的时候,第二个任务才会执行。

划重点!!!以下内容:--------------------------------------------!!!!!!!!!!!!---------------------------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SpringBootSpringMyBatis Redis是一种常见的技术组合,用于构建Java Web应用程序。以下是对每个技术的简要介绍: 1. Spring Boot:Spring Boot是一个用于简化Spring应用程序开发的框架。它通过提供自动配置和约定优于配置的方式,使得构建独立、可扩展的应用程序变得更加容易。Spring Boot提供了许多开箱即用的特性,包括内嵌的Servlet容器、自动配置的数据源和事务管理等。 2. SpringSpring是一个轻量级的Java开发框架,提供了一系列的模块,用于处理不同方面的应用程序开发,例如依赖注入、面向切面编程、事务管理等。Spring框架可以与其他技术无缝集成,使得应用程序开发更加灵活和可扩展。 3. MyBatisMyBatis是一个持久层框架,用于与关系型数据库进行交互。它通过XML配置文件或注解的方式,将Java对象映射到数据库中的表结构,并提供了丰富的SQL查询和操作功能。MyBatis具有灵活性和易用性,适用于各种规模的项目。 4. Redis:Redis是一个高性能的键值存储系统,常用于缓存、消息队列和会话管理等场景。它支持多种数据结构(如字符串、哈希、列表、集合、有序集合等),并提供了丰富的操作命令。在Spring Boot应用程序中使用Redis可以提高数据访问的性能和可靠性。 综上所述,Spring Boot、SpringMyBatis和Redis是一组常用的技术,它们可以协同工作,帮助开发人员构建高性能、可扩展的Java Web应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值