Sprng定时器我们java开发过程中经常使用,本篇文章给大家推荐的是我自己经常使用的一种,配置简单,书写方便。
废话不多说,直接看步骤:
1、我们首先新建一个applicationtimer.xml用来配置所有的定时器。
2、在applicationContext.xml里面引用这个我们的定时器配置文件:
3、书写写正常的执行方法就OK了
以下为具体实现:
1、新建一个applicationtimer.xml用来配置所有的定时器。
代码内容与注释如下:
<?xml version="1.0" encoding="utf-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"
default-autowire="byName" default-lazy-init="true">
//第一个定时器
<bean id="testobject" class="com.web.admin.SynData"></bean>//类名
<bean id="synData"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="testobject" />
</property>
<property name="targetMethod">
<value>synMethed</value>//类下的具体方法
</property>
</bean>
<bean id="cronUpdateStu" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="synData" />//指向上面的bean
</property>
<property name="cronExpression">
<value>0 0/1 * * * ?</value>//时间设定(网上随便找就有具体的设定方法)
</property>
</bean>
//第二个定时器
<bean id="ranking" class="com.web.admin.TimerController"></bean>//类名
<bean id="saverank"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="ranking" />
</property>
<property name="targetMethod">
<value>savefeedback</value>//类下的具体方法
</property>
</bean>
<bean id="savefeedback" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="saverank" />//指向上面的bean
</property>
<property name="cronExpression">
<value>1 0 0 1 * ?</value>
</property>
</bean>
<!-- TaskScheduler 管理哪些定时器生效-->
<bean id="schedulerFactory" lazy-init="false" autowire="no"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<!-- <property name="triggers" ref="cronUpdateStu"/> -->
<property name="triggers">
<list>
<ref local="cronUpdateStu" />//指向定时器的id(标蓝色)
<ref local="savefeedback" />//指向定时器的id(标蓝色)
</list>
</property>
</bean>
</beans>
2、在applicationContext.xml里面引用这个我们的定时器配置文件:
在里面加上下面这句引用
<import resource="classpath:/applicationtimer.xml" />
3、书写写正常的执行方法就OK了
public class SynData {
public void synData() {
System.out.println("222");
}
}
总体而言定时器主要就是一个配置,配置好了之后按照正常的web开发流程写就OK了,希望解决一些小伙伴的问题