定时任务如果不需要指定固定的时间点(比如晚上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>
分享到:
相关推荐
Spring Task易于集成,且与其他Spring组件无缝配合,适用于中小型项目。 四、定时任务的应用场景 1. **系统维护**:定时清理缓存、日志归档、健康检查等,确保系统高效稳定运行。 2. **数据处理**:定期备份数据库...
在IT行业中,SpringMVC是Java企业级应用开发中广泛使用的Web框架,它极大地简化了后端服务的构建和管理。本主题将深入探讨如何利用SpringMVC来实现动态添加数据库表以及字段,并能实时地在前端显示这些数据。动态...
多线程编程是Java的另一个强项,书中的相关章节可能详细解释了线程的创建、同步、互斥锁以及并发工具类的使用,帮助开发者实现高效的多任务处理。 最后,随着Java技术的发展,JVM优化、Spring框架、微服务架构、大...
10. **SSM整合框架**:Spring、SpringMVC和MyBatis是常用的Java企业级开发框架,课程会介绍如何整合这三个框架,实现模型-视图-控制器架构,提升开发效率。 11. **Redis**:Redis是一个高性能的键值数据库,常用于...
14. **单元测试与持续集成**:JUnit是Java的单元测试框架,配合Maven或Gradle等构建工具,可以实现自动化测试和持续集成,确保代码质量。 以上内容只是Java编程学习中的一部分,实际的“Java下”文件可能涵盖更多...
在《Java从基础到精通》这本书中,这些知识点应该会以详细和实践导向的方式进行讲解,配合体验版的光盘内容,读者可以通过实例和练习来加深理解,逐步提升自己的编程技能。无论是初学者还是有一定经验的开发者,这份...
通过这些章节的学习,初学者可以逐步掌握Java的核心概念和实践技能,为进一步深入学习Java EE、Spring框架、数据库连接等进阶主题打下坚实基础。在实际编程过程中,理论与实践相结合,不断练习和解决问题,是提升...
`jstl.jar`包含了核心标签库和EL表达式支持,如`<c:if>`,`<fmt:formatDate>`等,可以更高效地处理循环、条件判断和格式化任务。 4. **EL (Expression Language)**:EL是Java Web中的表达式语言,用于在JSP页面中...
在SSH(Struts2、Spring、Hibernate)这一经典的Java Web开发框架组合中,XiorkFlow可以作为流程管理的核心组件,与Spring进行深度整合,实现灵活的流程定义和执行。 首先,让我们深入了解工作流的概念。工作流是...
1. **Java基础知识**:PPT课件可能会从基础语法开始,包括变量、数据类型、运算符、控制结构(如if语句、for循环和while循环)、数组等。这些是编程的基础,理解和掌握它们是学习Java的第一步。 2. **面向对象编程*...
4. **JSTL(JavaServer Pages Standard Tag Library)**:为了减少JSP页面中的脚本元素,JSTL提供了一系列标准标签,使得开发者能更方便地处理常见的任务,如循环、条件判断、国际化等。 5. **EL(Expression ...
1. **Java基础知识**:这部分内容可能包括Java语言的语法基础,如变量、数据类型、运算符、流程控制(if语句、for循环、while循环等)、方法定义和调用、数组的使用等。这些基础知识是所有Java程序员必须掌握的,是...
ScheduledExecutorService是Java中的一种高级定时调度机制,它可以实现更加复杂的定时调度任务。 7. quartz和Spring Schedule:quartz和Spring Schedule是Java中两种常用的定时调度框架。它们提供了更加复杂的定时...
至于"springboot的异步加载bean",Spring Boot支持使用@Async注解实现方法的异步执行。这意味着在调用这个方法时,控制权会立即返回给调用者,而方法的实际执行会在后台线程中完成。这样可以提高系统响应速度,尤其...
1. **Web开发**:使用Java的Servlet和JSP技术,配合Apache Tomcat服务器,可以构建动态网站。Spring Boot和Spring MVC框架简化了Web应用的开发。 2. **Android应用**:Java是Android开发的主要语言,Android Studio...
7. 定时任务:Quartz或Spring Task可用于实现后台定时任务,如库存检查、订单超时提醒等。 8. 缓存机制:Spring Boot支持多种缓存解决方案,如Redis,可以提高数据读取效率。 9. 负载均衡和微服务:如果系统采用...
5. **Spring框架**:Spring是Java领域广泛使用的轻量级框架,提供了依赖注入、AOP(面向切面编程)和完整的Web应用解决方案。 6. **数据库连接**:使用JDBC(Java Database Connectivity)进行数据库操作,包括连接...
6. **MySQL**:MySQL是一种广泛使用的开源关系型数据库,与Spring JPA和Hibernate配合良好,可以实现高效的数据存储和检索。 7. **Servlet 3.1**:Servlet 3.1标准引入了异步处理、WebSocket支持等新特性,增强了...
JSTL是Java EE生态中的一个标准标签库,它提供了一系列预定义的标签,使得开发者可以更方便地在JSP页面中处理常见任务,如迭代、条件判断、XML处理等,从而减少Java脚本的使用,提高代码的可读性和维护性。...
4. **JSTL(JavaServer Pages Standard Tag Library)**:提供了一系列标准标签,用于处理常见任务,如循环、条件判断等。 整合Spring Boot、MyBatis和MySQL,可以通过Spring Data JPA、MyBatis的Mapper接口或...