`
pupi
  • 浏览: 437726 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Spring配合实现Java循环任务

阅读更多
定时任务如果不需要指定固定的时间点(比如晚上22:00),而只需要每隔一段时间执行任务,可以用jdk中自带的定时器来实现。Spring提供了很好的支持。

比如需要每隔一小时,就要向控制台中输出一行字符串“hello,world!”,只需要定义一个类,写一个Spring配置文件就可以了。

类用来实现具体的输出,需要继承自java.util.TimerTask。

Package test.pupi;

import java.util.List;
import java.util.TimerTask;

public class PrintHelloworld extends TimerTask {


	@Override
	public void run() {
		// TODO Auto-generated method stub
		System.out.print("hello,world!");
	}
}


spring配置文件则也很简单,


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
	
         <!-- 这个bean定义上面的那个实现定时操作的类 -->
         <bean id="printHelloworld"
		class="test.pupi.PrintHelloworld ">
	</bean>

	
         <!-- 这个bean定义循环定时任务,注意,period属性的单位是毫秒。3600000毫秒就是1小时 -->
         <bean id="scheduledEmailTask"
		class="org.springframework.scheduling.timer.ScheduledTimerTask">
		<property name="timerTask" ref="printHelloworld" />
		<property name="period" value="3600000" />
	</bean>

         <!-- 这个bean定义当前应用对应的所有的定时任务 -->
	<bean
		class="org.springframework.scheduling.timer.TimerFactoryBean">
		<property name="scheduledTimerTasks">
			<list>
				<ref bean="scheduledEmailTask" />
			</list>
		</property>
	</bean>


</beans>
分享到:
评论
3 楼 yhang 2016-09-23  
                    
2 楼 qichunren 2008-02-17  
原来可以这样啊!!

真是方便,谢谢您!
1 楼 wufei1310 2007-12-19  
了解了,谢谢

相关推荐

    Java定时任务实现解析.pptx.pptx

    Spring Task易于集成,且与其他Spring组件无缝配合,适用于中小型项目。 四、定时任务的应用场景 1. **系统维护**:定时清理缓存、日志归档、健康检查等,确保系统高效稳定运行。 2. **数据处理**:定期备份数据库...

    SpringMVC实现动态加表及字段并显示数据

    在IT行业中,SpringMVC是Java企业级应用开发中广泛使用的Web框架,它极大地简化了后端服务的构建和管理。本主题将深入探讨如何利用SpringMVC来实现动态添加数据库表以及字段,并能实时地在前端显示这些数据。动态...

    Java开发者年鉴

    多线程编程是Java的另一个强项,书中的相关章节可能详细解释了线程的创建、同步、互斥锁以及并发工具类的使用,帮助开发者实现高效的多任务处理。 最后,随着Java技术的发展,JVM优化、Spring框架、微服务架构、大...

    Java编程课程-Java核心基础

    10. **SSM整合框架**:Spring、SpringMVC和MyBatis是常用的Java企业级开发框架,课程会介绍如何整合这三个框架,实现模型-视图-控制器架构,提升开发效率。 11. **Redis**:Redis是一个高性能的键值数据库,常用于...

    中科大Java下中科大Java下

    14. **单元测试与持续集成**:JUnit是Java的单元测试框架,配合Maven或Gradle等构建工具,可以实现自动化测试和持续集成,确保代码质量。 以上内容只是Java编程学习中的一部分,实际的“Java下”文件可能涵盖更多...

    JAVA 编程词典(体验版)

    在《Java从基础到精通》这本书中,这些知识点应该会以详细和实践导向的方式进行讲解,配合体验版的光盘内容,读者可以通过实例和练习来加深理解,逐步提升自己的编程技能。无论是初学者还是有一定经验的开发者,这份...

    java技术文档

    通过这些章节的学习,初学者可以逐步掌握Java的核心概念和实践技能,为进一步深入学习Java EE、Spring框架、数据库连接等进阶主题打下坚实基础。在实际编程过程中,理论与实践相结合,不断练习和解决问题,是提升...

    Java web常用的jar包.zip

    `jstl.jar`包含了核心标签库和EL表达式支持,如`&lt;c:if&gt;`,`&lt;fmt:formatDate&gt;`等,可以更高效地处理循环、条件判断和格式化任务。 4. **EL (Expression Language)**:EL是Java Web中的表达式语言,用于在JSP页面中...

    Java web XiorkFlow 工作流.rar

    在SSH(Struts2、Spring、Hibernate)这一经典的Java Web开发框架组合中,XiorkFlow可以作为流程管理的核心组件,与Spring进行深度整合,实现灵活的流程定义和执行。 首先,让我们深入了解工作流的概念。工作流是...

    java课件.rar

    1. **Java基础知识**:PPT课件可能会从基础语法开始,包括变量、数据类型、运算符、控制结构(如if语句、for循环和while循环)、数组等。这些是编程的基础,理解和掌握它们是学习Java的第一步。 2. **面向对象编程*...

    Java网页开发的艺术.rar

    4. **JSTL(JavaServer Pages Standard Tag Library)**:为了减少JSP页面中的脚本元素,JSTL提供了一系列标准标签,使得开发者能更方便地处理常见的任务,如循环、条件判断、国际化等。 5. **EL(Expression ...

    JAVA2实用教程-2

    1. **Java基础知识**:这部分内容可能包括Java语言的语法基础,如变量、数据类型、运算符、流程控制(if语句、for循环、while循环等)、方法定义和调用、数组的使用等。这些基础知识是所有Java程序员必须掌握的,是...

    深入理解Java定时调度(Timer)机制

    ScheduledExecutorService是Java中的一种高级定时调度机制,它可以实现更加复杂的定时调度任务。 7. quartz和Spring Schedule:quartz和Spring Schedule是Java中两种常用的定时调度框架。它们提供了更加复杂的定时...

    springboot+netty+mybatis+sqlserver

    至于"springboot的异步加载bean",Spring Boot支持使用@Async注解实现方法的异步执行。这意味着在调用这个方法时,控制权会立即返回给调用者,而方法的实际执行会在后台线程中完成。这样可以提高系统响应速度,尤其...

    java编程基础、应用与实例

    1. **Web开发**:使用Java的Servlet和JSP技术,配合Apache Tomcat服务器,可以构建动态网站。Spring Boot和Spring MVC框架简化了Web应用的开发。 2. **Android应用**:Java是Android开发的主要语言,Android Studio...

    管理系统系列--基于springboot +thymeleaf 的小米商城管理系统.zip

    7. 定时任务:Quartz或Spring Task可用于实现后台定时任务,如库存检查、订单超时提醒等。 8. 缓存机制:Spring Boot支持多种缓存解决方案,如Redis,可以提高数据读取效率。 9. 负载均衡和微服务:如果系统采用...

    北大计算机系java培训讲义

    5. **Spring框架**:Spring是Java领域广泛使用的轻量级框架,提供了依赖注入、AOP(面向切面编程)和完整的Web应用解决方案。 6. **数据库连接**:使用JDBC(Java Database Connectivity)进行数据库操作,包括连接...

    Spring-MVC-Spring_JPA-Hibernate:CRUD연습Java 8,Apache Tomcat 9,Mysql,Spring 5.1,Hibernate 5.4,SpringData JPA 2.1.5,Servlet 3.1,jsp 2.3,jstl1.2

    6. **MySQL**:MySQL是一种广泛使用的开源关系型数据库,与Spring JPA和Hibernate配合良好,可以实现高效的数据存储和检索。 7. **Servlet 3.1**:Servlet 3.1标准引入了异步处理、WebSocket支持等新特性,增强了...

    java学习 jstl

    JSTL是Java EE生态中的一个标准标签库,它提供了一系列预定义的标签,使得开发者可以更方便地在JSP页面中处理常见任务,如迭代、条件判断、XML处理等,从而减少Java脚本的使用,提高代码的可读性和维护性。...

    springboot(demo).rar

    4. **JSTL(JavaServer Pages Standard Tag Library)**:提供了一系列标准标签,用于处理常见任务,如循环、条件判断等。 整合Spring Boot、MyBatis和MySQL,可以通过Spring Data JPA、MyBatis的Mapper接口或...

Global site tag (gtag.js) - Google Analytics