1、異步任務
啟動類上加上支援異步任務注解
@EnableAsync // 開啟異步注解功能
@SpringBootApplication
public class Springboot09AsynEmailTaskApplication {
public static void main(String[] args) {
SpringApplication.run(Springboot09AsynEmailTaskApplication.class, args);
}
}
編寫異步任務代碼
@Service
public class AsynService {
@Async
public void asynTake() throws InterruptedException {
System.out.println("任務正在執行中...");
Thread.sleep(5000);
System.out.println("任務執行完畢!");
}
}
測試:
@RestController
public class AsynController {
@Autowired
AsynService asynService;
@RequestMapping("/hello")
public String hello() throws InterruptedException {
asynService.asynTake();
return "任務執行完畢!";
}
}
2、定時發送
啟動類上加上支援定時任務注解
@EnableScheduling // 開啟定時任務注解功能
@SpringBootApplication
public class Springboot09AsynEmailTaskApplication {
public static void main(String[] args) {
SpringApplication.run(Springboot09AsynEmailTaskApplication.class, args);
}
}
測試
@Service
public class ScheduledService {
/* cron表達式
* 秒 分 時 日 月 周幾
* 每秒執行一次 cron = "0/1 * * * * ?"
*/
@Scheduled(cron = "0/10 * * * * ?")
public void scheduledTest() {
System.out.println("喵,你被執行了~");
}
}
3、郵件發送
導入jar
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
在springboot配置檔案中加上郵件伺服器具體資訊
spring:
# 配置郵箱伺服器資訊
mail:
username: [email protected]
password: yxtkamoezospdgje
host: smtp.qq.com
測試
@SpringBootTest
class Springboot09AsynEmailTaskApplicationTests {
@Autowired
JavaMailSenderImpl mailSender;
// 發送一個簡單的郵件
@Test
void contextLoads() {
SimpleMailMessage mailMessage = new SimpleMailMessage();
// 标題
mailMessage.setSubject("你好呀!");
// 内容
mailMessage.setText("謝謝你的幫助");
mailMessage.setTo("[email protected]");
mailMessage.setFrom("[email protected]");
mailSender.send(mailMessage);
}
// 發送一個帶附件的郵件
@Test
void contextLoads2() throws MessagingException {
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
// 标題
helper.setSubject("你好呀!");
// 内容
helper.setText("你想要的圖檔都在附件裡。");
// 附件
helper.addAttachment("kda阿卡麗.jpg", new File("C:\\Users\\27232\\Pictures\\KDA\\kda阿卡麗.jpg"));
helper.addAttachment("卡莎.jpg", new File("C:\\Users\\27232\\Pictures\\KDA\\虛空之女 KDA ALL OUT.jpg"));
// 接收人
helper.setTo("[email protected]");
// 發送人
helper.setFrom("[email protected]");
mailSender.send(mimeMessage);
}
}