异步任务:
两个地方:
1、@Async 在Service的方法上添加该注解
2、在启动类上添加@EnableAsync开启异步功能
邮件任务:
1、导入spring-boot-starter-mail 依赖jar包
2、在.properties属性文件中配置
#邮箱
spring.mail.username=452598222@qq.com
spring.mail.password=在qq邮箱设置中获取密钥
spring.mail.host=smtp.qq.com
#开启加密验证(QQ邮箱需要)
spring.mail.properties.mail.smtp.ssl.enable=true
3、引入邮箱发送实现类
@Autowired
JavaMailSenderImpl mailSender;
public void sendMail(){
//简单邮件协议
SimpleMailMessage mailMessage = new SimpleMailMessage();
mailMessage.setSubject("输入主题");
mailMessage.setText("输入内容");
mailMessage.setTo("接收者邮箱");
mailMessage.setFrom("发送者邮箱");
//使用实现类.send方法发送
mailSender.send(mailMessage);
//复杂邮件协议
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage);
helper.setSubject("设置标题");
//支持html标签的内容
helper.setText("设置内容<p style='color:red'>特殊样式</p>",true);
//附件添加
helper.addAttachment("文件名.文件类型",new File("文件路径"));
helper.setTo("接收者邮箱");
helper.setFrom("发送者邮箱");
mailSender.send(mimeMessage);
}
定时任务:
需要涉及到的:
底层接口:
TaskScheduler 任务调度者
TaskScheduler 任务执行者
使用注解:
@EnableScheduling 允许定时任务
@Scheduled 声明定时任务
cron表达式:
cron = “0 0 0/2 * * ?”
含义依次 = 秒 分 年 日 月 周几
具体可百度在线生成cron表达式
其他单位表示任意方式为 : *
周几单位表示任意方式为 :?
1、在启动类上增加允许定时任务的注解
@SpringBootApplication
@EnableScheduling
public class Application {
public static void main(String[] args) {
SpringApplication.run(MobilefxrApplication.class, args);
}
2、在Service层中增加一个定时任务,并加上声明注解
@Scheduled(cron = "0 0 0/2 * * ?")
@Transactional
public void ScheduleJob(){
//定时任务内容
doAnyThing();
}