认识@Scheduled()注解
使用@Scheduled()注解需要传入6
个参数
@Scheduled(cron = "0 0/1 * ? * MON-FRI")
介绍参数
- 第1个参数
seconds
:秒数;最小值为 0 ; 最大值为 60。 - 第2个参数
minutes
:分钟;最小值为 0 ; 最大值为 60。 - 第3个参数
hours
:小时;最小值为 0 ; 最大值为 23。 - 第4个参数
daysOfMonth
:月中的某一天。 - 第5个参数
months
:月份,这里使用的值为:FOO,JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC 其中一个,且必须全部大写。 - 第6个参数
daysOfWeek
:一周中的某一天,这里使用的值为:SUN,MON,TUE,WED,THU,FRI,SAT 其中一个,且必须全部大写。
参数格式
,
:连接符,表示列出枚举值。如在 minutes 域使用 2,15 ,表示 2 分和 15 分执行一次。-
:连接符,表示范围。如在 minutes 域使用 2-15 ,表示从 2 分到 15 分,每分钟执行一次。/
:连接符,表示值增加的幅度,如在 seconds域使用 n/m ,表示从第 n 秒开始,每隔 m 秒执执行一次,5/15 -->> 5, 20, 35, 50*
:表示匹配该域的任意值,如在 minutes 域使用,表示每分钟都会触发一次?
:表示匹配该域的任意值,但只有daysOfMonth
和daysOfWeek
域才能使用
使用@Scheduled()注解
- 在需要定时启动的方法上添加@Scheduled()注解并配置好参数。
- 这个注解只能用于Spring管理的bean的方法上,通常是一个带有
@Component
、@Service
、@Repository
或@Controller
注解的类 - 在
Springboot
的启动类上添加@EnableScheduling
注解,表示开启定时器功能
@Component
public class fetch_stock {
@Scheduled(cron = "0 0/1 * ? * MON-FRI")
public void fetch_page() {
System.out.println("这是一个定时启动的任务!!!");
}
}
//启动类
@SpringBootApplication
// 开启定时器
@EnableScheduling
public class DataCenterApplication {
public static void main(String[] args) {
SpringApplication.run(DataCenterApplication.class, args);
System.out.println("服务启动成功。。。");
System.out.println("等待定时任务触发。。。");
}
}
就这样,一个定时启动的任务就创建完毕了!!!