Springbootでのspring TaskおよびCRON式の使用--会員誕生日注意例

1542 ワード

タスクスケジュールの概要
会員の誕生日はクレジットカードの請求書を注意して花唄の返済通知毎月の月末に勤務統計活動を試験してどのくらい間隔をあけてデータを同期することを通知します
一定の法則があり、繰り返し実行し、タスクスケジューリングフレームワーク(タイミングタスク)の主流の技術を使用する:1.Spring Task 2.Quartz 3.Elastic-Job
Spring Task
Springが提供するタイミングタスクで、簡単で速い!2つの注記(@Enablescheduling:スイッチクラスで修飾、@Scheduled:繰り返し実行するメソッドを修飾し、cronプロパティを設定)+1つの式(CRON式)
CRON式
定時タスクの時間フォーマットを定義する式の形式の構成:秒分時日月周年の中年は省略することができ、残りはオンライン生成CRON式が存在する必要があります
スイッチ類オープンタイミングタスク
@SpringBootApplication
@MapperScan(basePackages ="com.qf.day0616.dao" )
@EnableScheduling//      
public class Day0616Application {

    public static void main(String[] args) {
        SpringApplication.run(Day0616Application.class, args);
    }

}

タスククラスタスク書き込み
/**
 * @Author LXM
 * @Date 2020/6/16 0016
 */
@Component
public class TStudentTask {
    @Resource
    private ItStudentDao studentDao;

    //      
    //    8       
    @Scheduled(cron="0 0 8 * * ?")
    public void brithday(){
        List list=studentDao.getBrithday(new SimpleDateFormat("MM-dd").format(new Date()));
        //        (                       )
        list.stream().forEach(System.out::println);
    }
}

Dao層sql文書き込み
public interface ItStudentDao extends BaseMapper {
    
    //                
    @Select("select * from t_student where date_format(birthday,'%m-%d')=#{currDay}")
    List getBrithday(String currDay);
}