En primer lugar, las tareas asíncronas
Asíncrono: Cuando encuentran un método asíncrono es el tiempo, esto va a suspender la tarea, el código después de la ejecución, cuando la tarea asíncrona que se puede realizar en un método de devolución de llamada
springboot asíncrona:
-
@EnableAsync
-
@Async
在主程序添加注解
@EnableAsync //开启异步注解
@SpringBootApplication
public class Springboot04TaskApplication {
public static void main(String[] args) {
SpringApplication.run(Springboot04TaskApplication.class, args);
}
}
在相应的方法加上 @Async注解
En segundo lugar, las tareas habituales
La tarea principal se mide el tiempo de dos notas:
-
@EnableScheduling // abrir las tareas regulares de anotación basada
-
@Scheduled
Timing expresión núcleo:
campo | valor permisible | Permitir caracteres especiales |
---|---|---|
segundo | 0-59 | , - * / |
divisoria | 0-59 | , - * / |
hora | 0-23 | , - * / |
fecha | 1-31 | , - *? / LWC |
mes | 1-12 | , - * / |
semana | 0-7 o SUN-SAT 0,7 es dom | , - *? / LC # |
Los caracteres especiales | En nombre del significado de |
---|---|
, | Enumerar |
- | intervalo |
* | arbitrariamente |
/ | pasos |
? | conflictos partido de día / semana |
L | finalmente |
W | jornada |
C | El valor calculado del contacto y calendario |
# | Semana, 4 # 2, segundo Jueves |
/**
* econd(秒), minute(分), hour(时), day of month(日), month(月), and day of week(周).
* 【0 0/15 14,18 * * ?】每天14和18点整,每隔15分钟执行一次
* 【0 15 10 ? * 1-6】 每月的周一至周六10:15分执行一次
* 【0 0 2 ? * 6L】 每个月的最后一个周六凌晨2点执行一次
* 【0 0 2 LW * ?】每个月的最后一个工作日凌晨2点执行一次
* 【0 0 2-4 ? * 1#1】每个月的第一个周一凌晨2点到4点期间,每个整点执行一次
*/
@Scheduled(cron = "0 * * * * MON-TUE")
public void hello(){
System.out.println("hello.......");
}
En tercer lugar, la tarea de correo
1, enviados Simple Mail
void contextLoads() {
SimpleMailMessage message = new SimpleMailMessage();
//邮件设置
message.setSubject("通知-今晚开会");//标题
message.setText("今晚7:00开会");//内容
message.setFrom("[email protected]");//发送的邮箱
message.setTo("[email protected]");//接收的邮箱
mailSender.send(message);
}
配置文件
[email protected]
spring.mail.password=tuhutzkdbcxodefj
spring.mail.host=smtp.qq.com
spring.mail.properties.mail.smtp.ssl.enable=true//开启ssl安全连接
2 archivos adjuntos, enviar correo electrónico
void contextLoads() {
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
helper.setSubject("通知-今晚开会");
helper.setText("<h1>今晚7:00开会</h1>",true);
helper.setFrom("[email protected]");
helper.setTo("[email protected]");
helper.addAttachment("1.jpg", new File("C:\\Users\\17933\\Pictures\\Saved Pictures\\1.jpg"));
helper.addAttachment("2.jpg", new File("C:\\Users\\17933\\Pictures\\Saved Pictures\\2.jpg"));
mailSender.send(mimeMessage);
}