SpringBoot 整合 Quartz框架

SpringBoot整合Quartz框架步骤

  • 在SpringBoot项目的pom.xml文件中引入依赖
<!-- quartz -->
<dependency>
  <groupId>org.quartz-scheduler</groupId>
  <artifactId>quartz</artifactId>
  <version>2.2.1</version>
  <exclusions>
    <exclusion>
      <artifactId>slf4g-api</artifactId>
      <groupId>org.slf4j</groupId>
    </exclusion>
  </exclusions>
</dependency>
<!-- 该依赖必加,里面有spring对schedule的支持 -->
<dependency>
  <groupId>org.springframework</groupId>  
  <artifactId>spring-context-support</artifactId>  
</dependency>
  • 创建任务调度根据需求编写业务逻辑
import org.springframework.stereotype.Component;

@Component
public class TaskHandle  {
	
	public void  Task1() {
		System.out.println("定时任务一执行啦!!!");
	}
}
  • 使用@Configuration注解来定义一个配置类
import java.text.SimpleDateFormat;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration	//相当于xml文件中的<beans>
public class ConfigTools {
	
	/**
	 *	格式化时间
	 * @return
	 */
	@Bean	//把返回值类型当做bean
	public SimpleDateFormat dataFormate() {
		return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	}
}

备注:@Configuration,@Bean这两个注解代替xml配置,@Configuration相当于xml 中的标签@Bean相当于标签,通常两者结合使用

  • 创建一个类调度任务
@Component
@EnableScheduling	//标注启动定时任务
public class Task {
	
	@Autowired
	private SimpleDateFormat dateFormat;
	@Autowired
	private TaskHandle taskHandle;
	// cron表达式,七个*(至少六个),(*/5)是一个、?是一个,从左到右分别表示:秒、分、时、日、月、周、年
	//@Scheduled(cron = "*/5 * * * * * ?")
	@Scheduled(fixedRate = 1000*3)	//每隔三秒
	public void reportCurrenTime() {
		taskHandle.Task1();//调用定时任务
		System.out.println("现在时间是:"+dateFormat.format(new Date()));
	}
}
  • 启动SpringBoot项目,自动启动定时任务
发布了22 篇原创文章 · 获赞 0 · 访问量 2769

猜你喜欢

转载自blog.csdn.net/Xu_Ren/article/details/105054840