异步任务
说白了就是前端正常响应,其任务交给后台操作。比如邮件系统
改动两处:
启动类:@EnableAsync //开启异步注解功能
方法上:@Async //告诉spring这是一个异步方法
启动类
@EnableAsync//开启异步注解功能
@SpringBootApplication
public class Demo6TestApplication {
public static void main(String[] args) {
SpringApplication.run(Demo6TestApplication.class, args);
}
}
service层
@Service
public class AsyncService {
@Async//注解为异步方法
public void hello() throws InterruptedException {
Thread.sleep(6000);
System.out.println("数据正在处理");
}
}
邮件任务
1.导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2,写配置文件
获取授权码:在QQ邮箱中的设置->账户->开启pop3和smtp服务
spring.mail.username=xxx
spring.mail.password=xxxx (授权码)
spring.mail.host=smtp.qq.com
# 开启加密(qq独有)
spring.mail.properties.smtp.ssl.enable=true
3.测试
@SpringBootTest
class Demo6TestApplicationTests {
@Autowired
private JavaMailSenderImpl mailSender;
/**
* 简单的邮件发送
*/
@Test
void contextLoads() {
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
simpleMailMessage.setSubject("好");
simpleMailMessage.setText("今天天气真好");
simpleMailMessage.setTo("123456@qq.com");
simpleMailMessage.setFrom("123456@qq.com");
mailSender.send(simpleMailMessage);
}
/**
* 复杂邮件发送
*/
@Test
public void test2() throws Exception{
MimeMessage mimeMessage = mailSender.createMimeMessage();
//组装
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
//正文
helper.setSubject("good");
helper.setText("<p style='color:red'>你要加油啊!</p>");
//附件
helper.addAttachment("1.png",new File("C:/1.png"));
helper.addAttachment("2.png",new File("C:/1.png"));
helper.setTo("123456@qq.com");
helper.setFrom("123456@qq.com");
mailSender.send(mimeMessage);
}
}