Springboot对任务方面没有独自的场景,所以创建项目时,只需要勾选web模块。
异步任务
异步任务是一种并发的操作,并发的执行某个任务是服务器应付大数据时代高并发的一种手段。在SpringBoot中想要实现这一功能,只需要下面的几步操作即可:
1.在springBoot启动类上加上下面的注解
2.在service层的方法上加上下面的注解,然后controller的某个方法调用下面的方法,你会发现下面的方法没有停滞3s,很好的说明了异步性
定时任务
使用也只需要两步:
1.在springBoot启动类上加上下面的注解
2.在service的方法上加上下面的注解,注意!!这下面的方法不需要依赖Controller去调用,只要springBoot一启动,下面的方法就会自行根据规则执行。
邮件任务
邮件就比较复杂了,首先要在pom文件中导入下面的依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
然后在application.properties文件中指定发送邮件的一些信息
#邮件
spring.mail.username=382491212@qq.com
spring.mail.password=rknrxtdgpfksbija
spring.mail.host=smtp.qq.com
spring.mail.properties.mail.smtp.ssl.enable=true
spring.mail.port=465
至此环境配置好了,但是邮件分为简单邮件,和复杂邮件(带附件)
简单邮件:
@Autowired
JavaMailSenderImpl mailSender;
@Test
void contextLoads() {
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
//邮箱设置
simpleMailMessage.setSubject("通知");
simpleMailMessage.setText("今晚7:30开会");
simpleMailMessage.setTo("1005807486@qq.com");
simpleMailMessage.setFrom("382491212@qq.com");
mailSender.send(simpleMailMessage);
}
复杂邮件:
@Autowired
JavaMailSenderImpl mailSender;
@Test
void contextLoads2() throws MessagingException {
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);//true代表有附件
//邮箱设置
helper.setSubject("通知");
helper.setText("<b style='color:red'>今晚</b>7:30开会",true);
helper.setTo("1005807486@qq.com");
helper.setFrom("382491212@qq.com");
//上传文件:
helper.addAttachment("1.jpg",new File("E:\\文件\\web\\img\\0.png"));
helper.addAttachment("1.jpg",new File("E:\\文件\\web\\img\\1.png"));
mailSender.send(mimeMessage);
}