`

3. spring版 timer HelloWorld

 
阅读更多
1. 由于这回需要使用Spring的jar包,所以需要修改pom文件,添加如下依赖:

<!-- Spring framework -->

<dependency>

	<groupId>org.springframework</groupId>

	<artifactId>spring</artifactId>

	<version>2.5.6</version>

</dependency>


注:如果使用3.0版本就不是只改个版本号的问题了,因为spring3.0已经分包了。

2. 编写Timer类代码:

package com.helloworld.common;



public class SayHelloTask{



	public void sayHello() {

		System.out.println("HelloWorld");

	}



}


注意:此domain类完全没有依赖任何接口!!!
3. 编写spring配置文件:这个代码比较多就不全贴上去了
<bean id="sayHelloTask" class="com.helloworld.common.SayHelloTask" />

首先是上面那个bean的声明。
<bean id="schedulerTask" class="org.springframework.scheduling.timer.MethodInvokingTimerTaskFactoryBean">
		<property name="targetObject" ref="sayHelloTask" />
		<property name="targetMethod" value="sayHello" />
	</bean>
MethodInvokingTimerTaskFactoryBean 取代了JDK中的TimerTask

<bean id="timerTask"
		class="org.springframework.scheduling.timer.ScheduledTimerTask">
		<property name="timerTask" ref="schedulerTask" />
		<property name="delay" value="2000" />
		<property name="period" value="6000" />
	</bean>

这个取代了JDK中的Timer
<bean class="org.springframework.scheduling.timer.TimerFactoryBean">
		<property name="scheduledTimerTasks">
			<list>
				<ref local="timerTask" />
			</list>
		</property>
	</bean>

定义一个TimerFactoryBean来启动Task。
4. 编写测试代码:
public class Test {
	public static void main(String[] args) {
		ApplicationContext context = new ClassPathXmlApplicationContext("Spring-Scheduler.xml");
		
	}
}

OK 一切运行成功。
分享到:
评论

相关推荐

    Spring-Reference_zh_CN(Spring中文参考手册)

    使用BeanPostProcessor的Hello World示例 3.7.1.2. RequiredAnnotationBeanPostProcessor示例 3.7.2. 用BeanFactoryPostProcessor定制配置元数据 3.7.2.1. PropertyPlaceholderConfigurer示例 3.7.2.2. ...

    Spring.3.x企业应用开发实战(完整版).part2

    16.7.3 使用Spring RestTemplate测试 16.7.4 使用Selenium测试 16.8 小结 第17章 实战案例开发 17.1 论坛案例概述 17.1.1 论坛整体功能结构 17.1.2 论坛用例描述 17.1.3 主要功能流程描述 17.2 系统设计 17.2.1 技术...

    Spring3.x企业应用开发实战(完整版) part1

    16.7.3 使用Spring RestTemplate测试 16.7.4 使用Selenium测试 16.8 小结 第17章 实战案例开发 17.1 论坛案例概述 17.1.1 论坛整体功能结构 17.1.2 论坛用例描述 17.1.3 主要功能流程描述 17.2 系统设计 17.2.1 技术...

    struts自我学习过程程序以及说明

    HelloWorld.jsp LangSelector.js 转换器: ConvertHWorld.java LocaleConverter.java xwork-conversion.properties struts.xml ConverHWorld.jsp Product.java ProductConfirm.java AddProducts.jsp ShowProducts....

    freemarker总结

    2,使用+运算符时,如果一边是数字,一边是字符串,就会自动将数字转换为字符串再连接,如:${3 + "5"},结果是:35 使用内建的int函数可对数值取整,如: ${ (x/2)?int } ${ 1.1?int } ${ 1.999?int } ${ -1.1?int } ...

    JBPM4工作流应用开始指南.rar

    41 2.9.5 导入和使用范例 41 2.10 例程:jBPM HelloWorld 43 2.11 小结 45 第3章 使用jBPM图形化流程设计器(GPD)设计流程 46 3.1 创建一个新流程 47 3.2 编辑流程定义源 49 3.3 例程:设计一个“复杂的”业务流程 ...

    JAVA上百实例源码以及开源项目源代码

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    JAVA上百实例源码以及开源项目

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

Global site tag (gtag.js) - Google Analytics