狂神说:异步、定时、邮件任务
异步任务
-
给hello方法添加@Async注解;
1
2
3
4
5
6
7
8
9
10//告诉Spring这是一个异步方法
public void hello(){
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("业务进行中....");
} -
要让这个注解生效,我们还需要在主程序上添加一个注解@EnableAsync ,开启异步注解功能;
1
2
3
4
5
6
7
8
9//开启异步注解功能
public class SpringbootTaskApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootTaskApplication.class, args);
}
}
邮件任务
-
导入maven
1
2
3
4
5<!--javax-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency> -
实现代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
class Spring09ApplicationTests {
JavaMailSenderImpl mailSender;
void contextLoads() {
//一个简单的邮件
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
simpleMailMessage.setSubject("小狂神,你好");
simpleMailMessage.setText("谢谢你的Java系列课程");
simpleMailMessage.setTo("alfa_cl@qq.com");
simpleMailMessage.setFrom("244296971@qq.com");
mailSender.send(simpleMailMessage);
}
void contextLoads1() throws MessagingException {
//一个复杂的邮件
MimeMessage mimeMessage = mailSender.createMimeMessage();
// 组装
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage,true);
mimeMessageHelper.setSubject("小狂神你好呀-plus");
mimeMessageHelper.setText("<p style='color:red'>谢谢你的Java系列课程</p>",true);
//附件
mimeMessageHelper.addAttachment("1.jpg",new File("D:\\workplaceforidea\\springboot-study\\spring-09\\src\\main\\resources\\static\\1.jpg"));
mimeMessageHelper.setTo("alfa_cl@qq.com");
mimeMessageHelper.setFrom("244296971@qq.com");
mailSender.send(mimeMessage);
}
}
定时任务
-
主程序上增加@EnableScheduling 开启定时任务功能
-
写一个需要定时执行方法,需要加@Scheduled注解,注解中写cron表达式
1
2
3
4
5
6
7
8
9
public class ScheduledService {
// 在一个特定的时间执行这个方法
// cron表达式 秒 分 时 日 月 周几
public void hello() {
System.out.println("hello被执行了······");
}
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小蜗!
评论
ValineDisqus