spring定时任务(一)是原始的实现job接口的方式,另外spring本身集成了quartz,我们使用的时候其配置文件和原始的实现job接口的方式差不多。
在(一)的基础上实例如下:
1.task.xml
<!-- 要调用的工作类 -->
<bean id="quartzJob"class="com.daibang.dbreport.finance.controller.TimeTaskTest"></bean>
<!-- 定义调用对象和调用对象的方法 -->
<bean id="jobtask"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailF
<!-- 调用的类 -->
<property name="targetObject">
<ref bean="quartzJob" />
</property>
<!-- 调用类中的方法 -->
<property name="targetMethod">
<value>work</value>
</property>
</bean>
<!-- 定义触发时间 -->
<bean id="doTime"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="jobtask" />
</property>
<!-- cron表达式 每分钟调用一次0 */1 * * * ?-->
<propertyname="cronExpression">
<value>0 58 22 * *?</value>
</property>
</bean>
<!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序-->
<bean id="startQuertz" lazy-init="false"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="doTime" />
</list>
</property>
</bean>
2.TimeTaskTest.java
@Controller
public class TimeTaskTest {
@Resource
private QuartzUse quartzUse;
public void work() {
System.out.println("定时任务开始");
quartzUse.getBusinessInfo();
}
}