美文网首页
SpringBoot的三大任务

SpringBoot的三大任务

作者: 在error边缘疯狂试探 | 来源:发表于2020-04-20 14:16 被阅读0次

    异步任务(Async Task)

    • 什么是异步任务:就是有多个线程来执行业务,比如,我去发一个邮件,需要等邮件发送完毕我才能做其他的操作,但是异步任务就是让你点击发送邮件后直接显示发送完成,你这样就可以进行其他操作了,发邮件的任务交给其他线程做,相当于虽然邮件可能在后台发送中,但是你现在可以不用管它,可以进行其他的操作,这样就不需要用户花费等待时间了。
    • 实现方法:首先在SpringBoot的主函数中添加@EnableAsync注解,然后再在某个具体的方法上面添加@Async注解,表示这是一个异步的方法。

    Tips:超级简单,使用两个注解就可以,自己也可以用原生java编写多线程处理。

    邮件任务

    • 导入依赖
    <!--导入邮件任务的依赖-->
      <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-mail</artifactId>
            </dependency>
    
    • 直接在application.properties配置文件中配置自己的邮箱相关的
    spring.mail.username=42410334@qq.com
    spring.mail.password=xxxxxx
    #开启加密验证
    spring.mial.properties.mail.smtp.ssl.enable=true
    
    • 业务实现:
    public class SendMail{
        @AutoWired
        JavaMailSenderImpl mailSender;
        // 实现一个简单的邮件发送
        public void sendSimpleContext(){
          // 一个简单的邮件
          SimpleMailMessage mailMassage = new SimpleMailMessage();
           maiMassage.setSubject("邮件的主题,也就是标题");
           mailMassage.setText("邮件的内容");
           mailMassage.setTo("42410334@qq.com");    // 发送给谁
           mailMassage.setFrom("42410334@qq.com");  // 谁发送的
          mailSender.send(mailMassage);
    }
    
      // 实现一个复杂的邮件发送
      public void sendContext(){
          // 一个复杂的邮件
          MimeMessage mimeMessage = new MimeMessage();
          // 组装
          MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
          helper.setSubject("邮件的主题,也就是标题");
          helper.setText("<p style='color: red'>邮件的内容</p>",true); // 可以支持HTML文本
          // 附件
          helper.setAttachment("1.jpg",new File("xxx文件的路径"));
          helper.setTo("xxx");
          helper.setFrom("xxx");
        mailSender.send(helper);
      }
    }
    

    定时任务

    • 两个重要的类:
      • TaskExecute(接口) : 任务执行者
      • TaskScheduler(接口) :任务调度程序
    • 在SpringBoot的主函数中添加@EnableScheduling注解,然后在具体的方法上添加@Scheduled(cron="xxx")注解,这个注解后面有cron表达式,在这个表达式内写你想在哪个时间段执行这个方法。
    • cron表达式:在线生成cron表达式

    相关文章

      网友评论

          本文标题:SpringBoot的三大任务

          本文链接:https://www.haomeiwen.com/subject/xyarihtx.html