异步任务
springboot中的异步任务需要用到多线程
例:
使service中的业务方法停顿五秒后再执行
@Service
public class AsyncService {
// 设置成异步方法
@Async
public void hello(){
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("数据正在处理.....");
}
}
异步处理,在业务方法上加上@Async,再在springboot中的主运行类上开启Async开关@EnableAsync,从而达到前端页面及时响应,后台异步处理。
邮件任务
pom.xml里面注册springboot邮件的坐标
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
application.properties中配置使用邮箱的信息,包括用户名邮箱和主机(类似于数据库配置)
spring.mail.username=1104142832@qq.com
spring.mail.password=assvogtdfdctggff
spring.mail.host=smtp.qq.com
#qq邮箱独有 开启加密验证
spring.mail.properties.mail.smtp.ssl.enable=true
最后可以在测试类中写邮件(其中主题)以下四个属性内容是最低限度的发送邮件配置
class AsyncdemoApplicationTests {
@Autowired
JavaMailSenderImpl mailSender;
@Test
void contextLoads() {
SimpleMailMessage simpleMailMessage=new SimpleMailMessage();
//配置的四个邮件内容
simpleMailMessage.setSubject("邮箱功能测试");
simpleMailMessage.setText("邮件正文");
simpleMailMessage.setTo("1104142832@qq.com");
simpleMailMessage.setFrom("1104142832@qq.com");
mailSender.send(simpleMailMessage);
}
}
|