Maison> Java> javaDidacticiel> le corps du texte

Comment implémenter une minuterie avec SpringBoot

王林
Libérer: 2023-05-10 14:58:22
avant
1034 Les gens l'ont consulté

Implémentation de timer

Code de démarrage Spring Boot, l'annotation @EnableScheduling est ajoutée pour activer la fonction timer

@SpringBootApplication @EnableScheduling // 开启定时功能 public class Application { public static void main(String[] args) { SpringApplication.run(Application.class,args); } }
Copier après la connexion

Code de tâche de planification, la classe de tâche doit être injectée dans le conteneur IoC via l'annotation @Component

@Component public class TestSchedulingTask { // 这个cron表达式代表从0秒开始,每过3秒执行一次。 @Scheduled(cron = "0/3 * * * * ?") public void test(){ // 大家可以根据公司的业务来实现,更希望是@Autowrite注入service层的接口,业务逻辑写在service层中。 // 这里测试我就输出当前系统时间了... Date date = new Date(System.currentTimeMillis()); String rule = "yyyy-MM-dd HH:mm:ss"; SimpleDateFormat simpleDateFormat = new SimpleDateFormat(rule); String format = simpleDateFormat.format(date); System.out.println(format); } }
Copier après la connexion

Notez ici chacune Toutes les méthodes de tâche doivent être annotées avec @Scheduled et spécifier des expressions cron.

Vous pouvez être rassuré, et il existe également des sites Web qui génèrent des expressions cron en ligne. Jetons un coup d'œil aux résultats de sortie de la console. Explication détaillée de l'expression cron

Comment implémenter une minuterie avec SpringBoot

Minute (minute)

0-59

,/-* Explication des caractères autorisés : , : C'est une énumération avec plusieurs valeurs. Par exemple, 5 et 20 en seconde représentent le déclencheur à 5 et 20 secondes. / : valeur 1/valeur 2, la valeur 1 représente l'heure de début, la valeur 2 représente la fréquence à laquelle, par exemple, dans mon cas, il se déclenche toutes les 3 secondes à partir de 0 seconde. - : Valeur de plage, de combien de temps à combien de temps. * : Commun à toutes les gammes. ? : Existe uniquement en date et semaine. Si vous souhaitez déclencher le 2 de chaque mois, mais si vous utilisez * la semaine, cela se déclenchera tous les jours, ce qui provoquera un bug Alors est-ce nécessaire ? pour remplacer *. L : Cela signifie le dernier et apparaît dans la date et la semaine. Par exemple, utiliser L dans la date représente le dernier jour du mois, et utiliser 3L dans la semaine représente le déclencheur du dernier mercredi. W : Indique les jours ouvrables, utilisé dans les dates. Si 9W est utilisé, si le 9 tombe le lundi 1-5, il se déclenchera directement. Si le 9 est un samedi, il se déclenchera le 8. Le 9 est un dimanche, il sera déclenché le lundi, c'est-à-dire le 10.
Heure (heure) 0-23 ,/-*
Date (jour du mois) 1-31 (Vous il faut considérer que le mois est incohérent) ,/-*?LW
mois (mois) 1-12 (l'abréviation anglaise correspondante est également acceptable) ,/-*
jour de semaine ) 1-7 ,/-*?L
année (année) Cette chose n'est fondamentalement pas utilisée Cette chose n'est fondamentalement pas utilisée

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!