spring4注释方式定时器的使用

1.下载定时器生成工具,百度搜索:cron生成器下载

2.搭建maven war 项目

pom.xml 部分代码

<properties>
		<spring4.version>4.2.2.RELEASE</spring4.version>
	</properties>
	
	<dependencies>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
			<version>${spring4.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>${spring4.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${spring4.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>${spring4.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${spring4.version}</version>
		</dependency>

		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="WebApp_ID" version="3.0">

    <!-- Spring配置 -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <!-- 指定Spring Bean的配置文件所在目录。默认配置在WEB-INF目录下 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

</web-app>

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:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:task="http://www.springframework.org/schema/task"
    xsi:schemaLocation="  
       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd  
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd     
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd  
       http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd"
    default-lazy-init="false">

    <context:component-scan base-package="springjobs.*"/>

    <task:annotation-driven scheduler="qbScheduler"
        mode="proxy" />
    <task:scheduler id="qbScheduler" pool-size="10" />

</beans>

测试类BaseJobs

package springjobs.simplejob;

import java.util.Date;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class BaseJobs {

	/**
	 * 每5秒钟执行一次
	 */
	@Scheduled(cron = "*/5 * * * * ?")
	public void doJob(){
		System.out.println(new Date() + "-----------------doJob");
	}
	/**
	 * 固定每分钟执行一次
	 */
	@Scheduled(fixedRate = 60*1000)
	public void doJob1(){
		System.out.println(new Date() + "-----------------doJob1");
	}
	/**
	 * 上次任务结束后一分钟后再次执行
	 */
	@Scheduled(fixedDelay = 60*1000)
	public void doJob2(){
		System.out.println(new Date() + "-----------------doJob2");
	}

}

maven buid形成war包

部署到tomcat等容器中,查看日志,ok!

 

posted @ 2016-04-06 15:24  luneng-gcc  阅读(1094)  评论(0编辑  收藏  举报