环境: IDEA版本.3.1 x64, JDK1.8, Spring Boot2.1.1
一、异步任务
在需要异步的服务层开启异步注解:@Async@Servicepublic class AsyncService {//告诉SpringBoot这是一个异步任务,SpringBoot会自动开启一个线程去执行@Asyncpublic void testAsyncService(){try {Thread.sleep(3000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("执行异步成功");}}
在主配置类上添加开启异步注解功能:@EnableAsync
@EnableAsync //开启异步注解功能public class SpringbootMybatisApplication {
二、定时任务
在需要开启定时任务的服务上添加注解@Scheduled(cron = "0 * * * * MON-SAT")
/* {秒数} {分钟} {小时} {日期} {月份} {星期} {年份(可为空)}* cron的六个符号分别对应以上时间单位,空格隔开* * 表示所有值;* ? 表示未说明的值,即不关心它为何值;* - 表示一个指定的范围;* , 表示附加一个可能值;* / 符号前表示开始时间,符号后表示每次递增的值;*/@Servicepublic class ScheduledService {@Scheduled(cron = "0 * * * * MON-SAT")public void testSchedule(){System.out.println("测试定时任务成功");}}
在主配置类上开启定时任务注解功能:@EnableScheduling
三、邮件任务
引入邮件依赖组件<!-- 引入邮件,如果发现注入失败,可以自行到maven官网下载jar放进对应文件夹 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency>
可能会产生的错误:注入失败(可以自行到maven官网下载jar放进对应文件夹):
邮箱开启POP3/SMTP服务 在主配置文件(yml方式)中配置邮箱参数
spring:mail:username: yourqq@password: xxxxxx //授权码,在服务选项中获取host: //qq邮箱服务器properties:mail:smtp:ssl:enable: true //开启安全连接
测试邮件发送
@AutowiredJavaMailSenderImpl mailSender;/*** 创建简单消息邮件*/@Testpublic void testMail(){SimpleMailMessage message = new SimpleMailMessage();message.setSubject("这是主题");message.setText("这是内容");//收件人message.setTo("xxxxx@");//发送人message.setFrom("xxxxx@");mailSender.send(message);}/*** 创建复杂消息邮件*/@Testpublic void testMail02() throws MessagingException {MimeMessage mimeMessage = mailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);helper.setSubject("这是复杂消息邮件主题");helper.setText("<b style='color:red;'>这是复杂消息邮件内容</b>",true);//添加附件1helper.addAttachment("1.jpg",new File("E:desktop8234.jpg"));//添加附件2helper.addAttachment("2.docx",new File("E:desktop形势与政策课作业.docx"));//收件人helper.setTo("xxxx@");//发送人helper.setFrom("xxxxx@");mailSender.send(mimeMessage);}
测试成功