第一步、引入quartz的jar包
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.3</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>2.3.0</version>
</dependency>
第二步、创建一个类,类中执行某个方法
public class MyJob {
public void run() {
System.out.println("当前系统时间为:" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
.format(new Date()));
}
}
第三步、创建spring的配置文件,并在其中进行配置
<!-- 创建任务类对象 -->
<bean id="myJob" class="com.itheima.quartz.MyJob"></bean>
<!-- 配置jobDetail任务详情 -->
<bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 注入目标对象 -->
<property name="targetObject" ref="myJob"></property>
<!-- 注入目标方法 -->
<property name="targetMethod" value="run"></property>
</bean>
<!-- 配置触发器 -->
<bean name="myTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<!-- 注入任务详情 -->
<property name="jobDetail" ref="jobDetail"></property>
<!-- 注入cron表达式,通过表达式指定出发的时间点 -->
<property name="cronExpression">
<value>0/5 * * * * ?</value>
</property>
</bean>
<!-- 配置调度工厂 -->
<bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="myTrigger"/>
</list>
</property>
</bean>
第四步、加载spring的配置文件
public class App {
public static void main(String[] args) {
new ClassPathXmlApplicationContext("applicationContext.xml");
}
}
以上即是quartz的入门案例,quartz主要功能还是提供一个定时器的作用。此案例通过cron表达式,每五秒执行一次myJob的run方法。其实本文主要还是记录了配置方式,主要的使用还是通过修改cron表达式和代码的逻辑点。