java异步,邮件,定时任务

异步

1、添加异步注解:@Async
2、启动类开启异步注解 @EnableAsync

@Async
public void hello(){
    try {
        Thread.sleep(3000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    System.out.println("数据正在加载中!");
}
@SpringBootApplication
@EnableAsync
public class SpringbootAsynchronousApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringbootAsynchronousApplication.class, args);
    }
}

邮件

1、添加pom文件支持
2、添加配置
3、编写简单的邮件发送(导入JavaMailSenderImpl实现)
4、编写复杂的邮件发送(导入JavaMailSenderImpl实现)


    org.springframework.boot
    spring-boot-starter-mail

spring.mail.username=*******@qq.com #发件邮箱
spring.mail.password=yhhisyxdrxknieae
spring.mail.host=smtp.qq.com #邮箱类型

#开启加密验证 QQ邮箱需要加 其他邮箱不需要加
spring.mail.properties.mail.smtl.ssl.enable=true
@Autowired
private JavaMailSenderImpl mailSender;

//简单邮件发送
SimpleMailMessage mailMessage = new SimpleMailMessage();
//标题
mailMessage.setSubject("年轻人不讲武德!");
//内容
mailMessage.setText("不要搞窝里斗");
//收件人
mailMessage.setTo("*******@qq.com");
mailMessage.setFrom("*******@qq.com");
mailSender.send(mailMessage);
//复杂邮件发送
MimeMessage mimeMessage = mailSender.createMimeMessage();
//组装
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
helper.setSubject("混元性太极掌门人 马宝国");
helper.setText("

弹抖闪电鞭

"
,true); //附件 helper.addAttachment("1.jpg",new File("C:\\Users\\yao\\Desktop\\1.jpg")); //收件人 mailMessage.setTo("*******@qq.com"); mailMessage.setFrom("*******@qq.com"); mailSender.send(mimeMessage);

定时

TaskExecutor 任务执行者
TaskScheduler 任务调度者

@EnableScheduling 开启定时任务注解支持
@Scheduled 什么时候执行

public class ScheduledService {
    //秒 分 时 日 月 周几
    //30 15 10 * * ? 每天10点15分30秒执行
    //30 0/5 10,18 * * ? 每天10点或18点每隔5分的第30秒执行
    //0 15 10 ? * 1-6 每个月的周一到周六的10点15分执行一次
    @Scheduled(cron = "0 42 21 * * ?")
    public void hello(){
        System.out.println("你被执行了!");
    }
}

你可能感兴趣的:(java,定时任务)