使用Component注解注解一个类,这个类就变成了一个组件。组件可以有很多不同的特性,比如Scheduled注解为组件的某个函数添加了定时的特性。
@Component
public class MyScheduler {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@Scheduled(fixedRate = 20000)
public void task() {
logger.info("每20秒执行一次。开始……");
System.out.println("weidiao is great");
//statusTask.healthCheck();
logger.info("每20秒执行一次。结束。");
}
}
要想让这个特性被全局Application发现,就需要实现为Application添加一个注解
@SpringBootApplication
@EnableScheduling
public class MyApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(MyApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}