1 pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.cloudtech</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>demo</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version>
<relativePath />
<!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- springBoot的启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- springBoot的启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!-- 添加Scheduled坐标 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
</dependencies>
</project>
2.schedule类
package com.cloudtech.scheduled;
import java.util.Date;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
/**
* scheduled定时任务
* @ClassName: ScheduleDemo
* @Description:
* @author wude
* @date 2018年12月14日
*
*/
@Component
public class ScheduleDemo {
/**
* 定时任务方法
* @scheduled:设置定时任务
* cron属性,cron表达式,定时任务触发是时间的一个字符串表单方式
*/
@Scheduled(cron="0/2 * * * * ?")
public void scheduleMethod(){
System.out.println("定时器被触发"+new Date());
}
}
3.启动类
package com.cloudtech.gradstower;
import com.cloudtech.gradstower.cache.WeatherCache;
import com.cloudtech.gradstower.config.MyConfig;
import com.cloudtech.gradstower.dao.ImgDao;
import com.cloudtech.gradstower.ennums.Category;
import com.cloudtech.gradstower.service.impl.PrintScreenThread;
import com.cloudtech.gradstower.vo.WeatherVo;
import com.spring4all.swagger.EnableSwagger2Doc;
import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.scheduling.annotation.EnableScheduling;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
@SpringBootApplication
@ComponentScan(basePackages = {"com.cloudtech"})
@EnableScheduling
public class GradstowerApplication implements CommandLineRunner {
public static void main(String[] args) {
SpringApplication.run(GradstowerApplication.class, args);
}
}
4.测试结果展示
![](https://i-blog.csdnimg.cn/blog_migrate/6d9e88170bf69b845e97b130949186d6.png)