Spring boot 非同步/定時任務/郵件
一、非同步功能
1:啟動類新增註解:
//開啟非同步註解功能
2:方法上新增:
//告訴Spring這是一個非同步方法 public void hello(){ try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("處理資料中..."); }
二、定時任務
1:啟動類開啟定時任務:
2:方法上面
/** * second(秒), minute(分), hour(時), day of month(日), month(月), day of week(周幾). * 0 * * * * MON-FRI * 【0 0/5 14,18 * * ?】 每天14點整,和18點整,每隔5分鐘執行一次 * 【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-SAT") //@Scheduled(cron = "0,1,2,3,4 * * * * MON-SAT") // @Scheduled(cron = "0-4 * * * * MON-SAT") cron = "0/4 * * * * MON-SAT") //每4秒執行一次 ( public void hello(){ System.out.println("hello ... "); }
cron表示式:
欄位 | 允許值 | 允許的特殊字元 |
---|---|---|
秒 | 0-59 | , - * / |
分 | 0-59 | , - * / |
小時 | 0-23 | , - * / |
日期 | 1-31 | , - * ? / L W C |
月份 | 1-12 | , - * / |
星期 | 0-7或SUN-SAT 0,7是SUN | , - * ? / L C # |
特殊字元
特殊字元 | 代表含義 |
---|---|
, | 列舉 |
- | 區間 |
* | 任意 |
/ | 步長 |
? | 日/星期衝突匹配 |
L | 最後 |
W | 工作日 |
C | 和calendar聯絡後計算過的值 |
# | 第幾個 星期,4#2,第2個星期四 |
三、郵件任務
3.1.新增POM依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId> <!--- 郵件-->
</dependency>
自動啟動類:MailSenderAutoConfiguration ,屬性配置類:MailProperties
3.2 配置檔案
spring.mail.username=#####@qq.com spring.mail.password=123456 spring.mail.host=smtp.qq.com spring.mail.properties.mail.smtp.ssl.enable=true
3.3程式碼部分
JavaMailSenderImpl mailSender; public void contextLoads() { SimpleMailMessage message = new SimpleMailMessage(); //郵件設定 message.setSubject("通知-今晚開會"); message.setText("今晚7:30開會"); message.setTo("17512080612@163.com"); message.setFrom("534096094@qq.com"); mailSender.send(message); } public void test02() throws Exception{ //1、建立一個複雜的訊息郵件 MimeMessage mimeMessage = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true); //郵件設定 helper.setSubject("通知-今晚開會"); helper.setText("<b style='color:red'>今天 7:30 開會</b>",true); helper.setTo("17512080612@163.com"); helper.setFrom("534096094@qq.com"); //上傳檔案 helper.addAttachment("1.jpg",new File("C:\\Users\\lfy\\Pictures\\Saved Pictures\\1.jpg")); helper.addAttachment("2.jpg",new File("C:\\Users\\lfy\\Pictures\\Saved Pictures\\2.jpg")); mailSender.send(mimeMessage); }
相關文章
- SpringBoot與非同步任務、定時任務、郵件任務Spring Boot非同步
- SpringBoot之非同步、定時、郵件任務Spring Boot非同步
- spring boot 定時任務Spring Boot
- Spring Boot(九):定時任務Spring Boot
- Spring Boot 配置 Quartz 定時任務Spring Bootquartz
- spring boot中的定時任務Spring Boot
- Spring Boot 整合郵件服務Spring Boot
- Spring Boot (十):郵件服務Spring Boot
- Laravel5.6 使用定時任務實現定時發郵件Laravel
- Laravel5.6使用定時任務實現定時發郵件Laravel
- Spring 定時任務Spring
- Spring Boot @Async 非同步任務執行Spring Boot非同步
- Spring Boot 實現定時任務的 4 種方式Spring Boot
- Spring Boot系列之使用@Scheduled實現定時任務Spring Boot
- Spring Boot中引入定時任務Spring Boot
- Spring / Spring boot 非同步任務程式設計 WebAsyncTaskSpring Boot非同步程式設計Web
- Spring - Task定時任務Spring
- Spring Boot 定時任務的技術選型對比Spring Boot
- Spring Boot 中實現定時任務的兩種方式Spring Boot
- Spring Boot之使用Scheduled註解實現定時任務Springboot
- spring定時任務註解Spring
- Spring Scheduler定時任務 + QuartzSpringquartz
- spring定時任務相關Spring
- spring執行定時任務Spring
- Spring Boot整合quartz實現定時任務並支援切換任務資料來源Spring Bootquartz
- Spring Boot整合郵件傳送Spring Boot
- Spring Boot 系統啟動任務定義Spring Boot
- Django配置celery執行非同步任務和定時任務Django非同步
- Django 如何使用 Celery 完成非同步任務或定時任務Django非同步
- SprinBoot~實現使用非同步任務優化郵件傳送boot非同步優化
- Spring Boot入門(三):使用Scheduled註解實現定時任務Spring Boot
- spring boot配置QQ郵箱傳送郵件Spring Boot
- Spring boot學習(九)Spring boot配置郵件傳送Spring Boot
- Spring Boot中得定時任務執行一段時間後突然停了Spring Boot
- spring-boot-route(二十一)quartz實現動態定時任務Springbootquartz
- 定時傳送郵件
- Spring定時任務高階使用篇Spring
- Spring排程定時任務的方式Spring