任务
异步任务
// 开启异步任务,启动类
@EnableAsync
代码:
@Service
public class AuyncService {
// 告诉Spring 这是一个异步的方法
@Async
public void hello(){
try {
Thread.sleep(3000); // 延迟3000秒
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
定时任务
接口:
TaskScheduler; //任务调度程序
TaskExecutor; //任务执行者
@EnableScheduling //开启定时任务的注解,放在启动类中
@Scheduler // 什么时候执行~
代码:
@Service
public class ScheduledService {
// 在一个特定的时间执行这行代码
// cron 表达式
// 秒 分 时 日 月 周几
// 一周中每天的任何时候的第零秒,执行这个任务
@Scheduled(cron = "0 * * * * 0-7")
public void hello(){
System.out.println("我被执行了");
}
}
邮件发送
<!--邮件发送-->
<dependency>
<groupId>org.Springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
配置:
# 发送邮件的配置
# 账号
spring.mail.username=2436743@qq.com
# 密码, 邮箱生成的加密密码
spring.mail.password=goxwydfndk....
# 配置主机
spring.mail.host=smtp.qq.com
# 开启加密验证
spring.mail.properties.mail.smtp.ssl.enable=true
代码:
@SpringBootTest
class RenwuApplicationTests {
@Autowired
JavaMailSenderImpl javaMailSender;
@Test
void contextLoads() {
// 一个简单的邮件
SimpleMailMessage mailMessage = new SimpleMailMessage();
mailMessage.setSubject("11111");
mailMessage.setText("22222222222222222222222222222222222222222");
mailMessage.setTo("自己的邮箱");
mailMessage.setFrom("要发送的邮箱");
javaMailSender.send(mailMessage);
}
@Test
void contextLoads2() throws MessagingException {
// 一个复杂的邮件
MimeMessage mailMessage = javaMailSender.createMimeMessage();
// 组装
/**
* MimeMessageHelper helper = new MimeMessageHelper(mailMessage,true);
*/
MimeMessageHelper helper = new MimeMessageHelper(mailMessage,true);
// 正文
helper.setSubject("111111111");
helper.setText("<p>222222222222222222222</p>",true);
// 附件
helper.addAttachment("1.jpg",new File("地址1"));
helper.addAttachment("2.jpg",new File("地址2"));
helper.setTo("自己的邮箱");
helper.setFrom("要发送的邮箱");
javaMailSender.send(mailMessage);
}
}
网友评论