環(huán)境: IDEA版本2017.3.1 x64尖昏, JDK1異步任務(wù).8, SpringBoot2.1.1
在需要開啟異步的服務(wù)加上注解:@Async
@Servicepublic class AsyncService {? ? //告訴SpringBoot這是一個異步任務(wù)构资,SpringBoot會自動開啟一個線程去執(zhí)行? ? @Async? ? public voidtestAsyncService(){? ? ? ? try {? ? ? ? ? ? Thread.sleep(3000);? ? ? ? } catch (InterruptedException e) {? ? ? ? ? ? e.printStackTrace();? ? ? ? }? ? ? ? System.out.println("執(zhí)行異步成功");? ? }}
在主配置類上添加開啟異步注解功能:@EnableAsync
@EnableAsync? //開啟異步注解功能public class SpringbootMybatisApplication {
定時任務(wù)
在需要開啟定時任務(wù)的服務(wù)上添加注解@Scheduled(cron = "0 * * * * MON-SAT")
/* {秒數(shù)} {分鐘} {小時} {日期} {月份} {星期} {年份(可為空)}? ? *? cron的六個符號分別對應(yīng)以上時間單位抽诉,空格隔開? ? *? * 表示所有值;? ? *? ? 表示未說明的值吐绵,即不關(guān)心它為何值迹淌;? ? *? - 表示一個指定的范圍;? ? *? , 表示附加一個可能值己单;? ? *? / 符號前表示開始時間唉窃,符號后表示每次遞增的值;? ? */@Servicepublic class ScheduledService {? ? @Scheduled(cron ="0 * * * * MON-SAT")? ? public voidtestSchedule(){? ? ? ? System.out.println("測試定時任務(wù)成功");? ? }}
在主配置類上開啟定時任務(wù)注解功能:@EnableScheduling
郵件任務(wù)
引入郵件依賴組件
? ? ? ? ? ? org.springframework.boot? ? ? ? ? ? spring-boot-starter-mail
可能會產(chǎn)生的錯誤:注入失斘屏(可以自行到maven官網(wǎng)下載jar放進對應(yīng)文件夾):
郵箱開啟POP3/SMTP服務(wù)
在主配置文件(yml方式)中配置郵箱參數(shù)
spring:? mail:? ? username: yourqq@qq.com? ? password: xxxxxx? //授權(quán)碼纹份,在服務(wù)選項中獲取? ? host: smtp.qq.com? //qq郵箱服務(wù)器? ? properties:? ? ? mail:? ? ? ? smtp:? ? ? ? ? ssl:enable:true//開啟安全連接
測試郵件發(fā)送
@AutowiredJavaMailSenderImpl mailSender;/*** 創(chuàng)建簡單消息郵件*/@Test? ? public voidtestMail(){? ? ? ? SimpleMailMessage message = new SimpleMailMessage();? ? ? ? message.setSubject("這是主題");? ? ? ? message.setText("這是內(nèi)容");? ? ? ? //收件人? ? ? ? message.setTo("xxxxx@qq.com");? ? ? ? //發(fā)送人? ? ? ? message.setFrom("xxxxx@qq.com");? ? ? ? mailSender.send(message);}/**? ? * 創(chuàng)建復(fù)雜消息郵件? ? */? ? @Test? ? public voidtestMail02() throws MessagingException {? ? ? ? MimeMessage mimeMessage = mailSender.createMimeMessage();? ? ? ? MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);? ? ? ? helper.setSubject("這是復(fù)雜消息郵件主題");? ? ? ? helper.setText("<b style='color:red;'>這是復(fù)雜消息郵件內(nèi)容</b>",true);? ? ? ? //添加附件1? ? ? ? helper.addAttachment("1.jpg",new File("E:\\desktop\\8234.jpg"));? ? ? ? //添加附件2? ? ? ? helper.addAttachment("2.docx",new File("E:\\desktop\\形勢與政策課作業(yè).docx"));? ? ? ? //收件人? ? ? ? helper.setTo("xxxx@qq.com");? ? ? ? //發(fā)送人? ? ? ? helper.setFrom("xxxxx@qq.com");? ? ? ? mailSender.send(mimeMessage);? ? }
測試成功
在此我向大家推薦一個架構(gòu)學(xué)習(xí)交流群。交流學(xué)習(xí)群號:938837867 暗號:555 里面會分享一些資深架構(gòu)師錄制的視頻錄像:有Spring廷痘,MyBatis蔓涧,Netty源碼分析,高并發(fā)笋额、高性能元暴、分布式、微服務(wù)架構(gòu)的原理兄猩,JVM性能優(yōu)化茉盏、分布式架構(gòu)等這些成為架構(gòu)師必備