Spring 定时器

Spring 定时器 实例如下

第一步:

//首先创建一个任务类

 

package com.shangde.timer;

import java.sql.Time;
import java.util.Timer;
import java.util.TimerTask;

/*
 * 创建一个任务类
 */
public class Clock extends TimerTask{
 
 
 @Override
 public void run() {
  System.out.println("Hello Word");
 }

}
第二步

//创建quartzClock类并集成

 

package com.shangde.timer;

import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;

public class quartzClock extends QuartzJobBean {

 @Override
 protected void executeInternal(JobExecutionContext arg0)
   throws JobExecutionException {
   System.out.println("这里执行定时器的任务");
   System.out.println("Quartz.........");
 }

}

第三步:

//在src下创建一个ApplicationContext.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" xmlns:context="http://www.springframework.org/schema/context"
 xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
  http://www.springframework.org/schema/context  
   http://www.springframework.org/schema/context/spring-context-2.5.xsd
">
<!-- spring定时器 -->  
  
<!-- 第一步 声明一个定时任务,该类extends java.util.TimerTask -->  
<!-- 就是把自己的类跟方法定义在配置文件中就可以了
 然后他会根据你的时间来调用你的类里面的方法
            达到定时的效果
 -->
 <bean id="mesbean" class="com.shangde.timer.SpringTest" abstract="false"
  lazy-init="default" autowire="default" dependency-check="default">
 </bean>
 
   <bean id="Clock" class="com.shangde.timer.Clock"></bean>
  
<!-- 第二步 调度定时任务,把声明的定时任务注入进来,并设置定时参数 -->  
<bean id="scheduledClock" class="org.springframework.scheduling.timer.ScheduledTimerTask">  
   <property name="timerTask">  
    <ref bean="Clock"></ref>  
   </property>  
   <property name="period">  
    <value>1000</value>  
    <!--这里是每隔多长时间就进行一次计时任务,单位ms-->  
   </property>  
   <property name="delay">  
    <value>1000</value>  
    <!--这里是服务启动后延时多少时间,开始计时任务,单位ms-->  
   </property>  
</bean>  
  
<!-- 启动定时任务,如果有多个定时任务,则重复步骤一,二,然后把第二步设置的beany放在下面的list列表中.此方法不能精确几点运行定时任务 -->  
<bean class="org.springframework.scheduling.timer.TimerFactoryBean">  
   <property name="scheduledTimerTasks">  
    <list>  
     <ref bean="scheduledClock"></ref>  
    </list>  
   </property>  
</bean>  
</beans>

 

//第四步

//创建一个测试类

 

package com.shangde.timer;

import org.apache.log4j.Logger;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class SpringTest {
 public static Logger logg=Logger.getLogger(SpringTest.class);
 
 
 public static void main(String[] args) {
//  第一种写法加载配置文件
  ApplicationContext  applicationContext=new ClassPathXmlApplicationContext("ApplicationContext.xml");
  
  
//  第二种写法
  /*ClassPathXmlApplicationContext ct=new ClassPathXmlApplicationContext("/ApplicationContext.xml");
  ApplicationContext aContext=new ClassPathXmlApplicationContext("ApplicationContext.xml");*/
//  加载多个配置文件
//  ApplicationContext ctContext=new ClassPathXmlApplicationContext(new String[]{"ApplicationContext.xml","ApplicationContext.xml"});
  
 }
}
//最后输出结果如下(我一步步测试完成的,如需要可以直接复制)

log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext).
log4j:WARN Please initialize the log4j system properly.
Hello Word
Hello Word
Hello Word
Hello Word
Hello Word
Hello Word
Hello Word
Hello Word
Hello Word
Hello Word

有疑问可以留言!!!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值