环境: IDEA版本2017.3.1 x64, JDK1异步任务.8, SpringBoot2.1.1
在需要开启异步的服务加上注解:@Async
@Servicepublic class AsyncService { //告诉SpringBoot这是一个异步任务,SpringBoot会自动开启一个线程去执行 @Async public voidtestAsyncService(){ 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 voidtestSchedule(){ System.out.println("测试定时任务成功"); }}
在主配置类上开启定时任务注解功能:@EnableScheduling
邮件任务
引入邮件依赖组件
org.springframework.boot spring-boot-starter-mail
可能会产生的错误:注入失败(可以自行到maven官网下载jar放进对应文件夹):
邮箱开启POP3/SMTP服务
在主配置文件(yml方式)中配置邮箱参数
spring: mail: username: yourqq@qq.com password: xxxxxx //授权码,在服务选项中获取 host: smtp.qq.com //qq邮箱服务器 properties: mail: smtp: ssl:enable:true//开启安全连接
测试邮件发送
@AutowiredJavaMailSenderImpl mailSender;/*** 创建简单消息邮件*/@Test public voidtestMail(){ SimpleMailMessage message = new SimpleMailMessage(); message.setSubject("这是主题"); message.setText("这是内容"); //收件人 message.setTo("xxxxx@qq.com"); //发送人 message.setFrom("xxxxx@qq.com"); mailSender.send(message);}/** * 创建复杂消息邮件 */ @Test public voidtestMail02() throws MessagingException { MimeMessage mimeMessage = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true); helper.setSubject("这是复杂消息邮件主题"); helper.setText("<b style='color:red;'>这是复杂消息邮件内容</b>",true); //添加附件1 helper.addAttachment("1.jpg",new File("E:\\desktop\\8234.jpg")); //添加附件2 helper.addAttachment("2.docx",new File("E:\\desktop\\形势与政策课作业.docx")); //收件人 helper.setTo("xxxx@qq.com"); //发送人 helper.setFrom("xxxxx@qq.com"); mailSender.send(mimeMessage); }
测试成功
在此我向大家推荐一个架构学习交流群。交流学习群号:938837867 暗号:555 里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备