该示例运行起来之后,会每一秒在控制台打印一下当前的系统时间。
项目目录结构:
Timer.java内容:
package com.rain.corn;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 报时类.
*/
public class Timer {
/**
* 格式化时间对象.
*/
private static final SimpleDateFormat sdf = new SimpleDateFormat(
"yyyy-MM-dd hh:mm:ss");
/**
* 打印格式化后的当前时间.
*/
public void now() {
Date date = new Date();
System.out.println(sdf.format(date));
}
}
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:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- 配置报时类实例 -->
<bean id="timer" class="com.rain.corn.Timer"></bean>
<!-- 配置定时任务所要执行的具体类、方法 -->
<bean id="timerJob"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="timer" />
</property>
<property name="targetMethod">
<value>now</value>
</property>
</bean>
<!-- 配置定时任务执行的时间规律 -->
<bean id="cornTimerTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="timerJob" />
</property>
<property name="cronExpression">
<value>0/1 * * * * ?</value>
</property>
</bean>
<!-- 配置定时任务列表 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref local="cornTimerTrigger" />
</list>
</property>
</bean>
</beans>
web.xml文件内容:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:applicationContext.xml
</param-value>
</context-param>
</web-app>