1:首先确保一个spring的web项目能跑起来,spring的版本是3.1的,3.0的用法有点区别

quartz版本是2.0.2的

整个要跑起来除了spring的必备包之外还要quartz-all-2.0.2.jar,slf4j-api-1.6.4.jar

配置这个类要注意,网上有的用CronTriggerBean,我测试了报错,这里用CronTriggerFactoryBean

org.springframework.scheduling.quartz.CronTriggerFactoryBean


2:applicationContext.xml中添加下面的配置

<!--定时任务类start -->
<bean id="jobClass" class="com.ws.quartz.TestQuartz"></bean>
<bean name="initTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="jobClass"/>
</property>
<property name="targetMethod">
<value>jobDetail</value>
</property>
</bean>
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<ref bean="initTask"/>
</property>
<property name="cronExpression" value="10,15,20,25,30,35,40,45,50,55 * * * * ?" />
</bean>
<bean id="start" lazy-init="false" autowire="no"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronTrigger" />
</list>
</property>
</bean>
<!--定时任务类end-->

---------------------类里面就一个方法

public class TestQuartz {

public void jobDetail(){
System.out.println("定时任务");
}
}

ps:这个例子是每过5秒执行一次jobDetail方法,会在console中持续打出"定时任务"