SpringBoot与异步任务、定时任务、邮件任务

栏目: Java · 发布时间: 6年前

内容简介:可能会产生的错误:注入失败(可以自行到maven官网下载jar放进对应文件夹):测试成功
  • 在需要开启异步的服务加上注解:@Async
@Service
public class AsyncService {

    //告诉SpringBoot这是一个异步任务,SpringBoot会自动开启一个线程去执行
    @Async
    public void testAsyncService(){
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("执行异步成功");
    }
}
复制代码
  • 在主配置类上添加开启异步注解功能:@EnableAsync
@EnableAsync   //开启异步注解功能
public class SpringbootMybatisApplication {
复制代码

定时任务

  • 在需要开启定时任务的服务上添加注解 @Scheduled(cron = "0 * * * * MON-SAT")
/* {秒数} {分钟} {小时} {日期} {月份} {星期} {年份(可为空)}
     *  cron的六个符号分别对应以上时间单位,空格隔开
     *  * 表示所有值;
     *  ? 表示未说明的值,即不关心它为何值;
     *  - 表示一个指定的范围;
     *  , 表示附加一个可能值;
     *   / 符号前表示开始时间,符号后表示每次递增的值;
     */
@Service
public class ScheduledService {
    @Scheduled(cron = "0 * * * * MON-SAT")
    public void testSchedule(){
        System.out.println("测试定时任务成功");
    }
}
复制代码
SpringBoot与异步任务、定时任务、邮件任务
  • 在主配置类上开启定时任务注解功能:@EnableScheduling

邮件任务

  • 引入邮件依赖组件
<!-- 引入邮件,如果发现注入失败,可以自行到maven官网下载jar放进对应文件夹 -->
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
</dependency>
复制代码

可能会产生的错误:注入失败(可以自行到maven官网下载jar放进对应文件夹):

SpringBoot与异步任务、定时任务、邮件任务
  • 邮箱开启POP3/SMTP服务

    SpringBoot与异步任务、定时任务、邮件任务
  • 在主配置文件(yml方式)中配置邮箱参数

spring:
  mail:
    username: yourqq@qq.com
    password: xxxxxx  //授权码,在服务选项中获取
    host: smtp.qq.com   //qq邮箱服务器
    properties:
      mail:
        smtp:
          ssl:
            enable: true //开启安全连接
复制代码
  • 测试邮件发送
@Autowired
JavaMailSenderImpl mailSender;

/**
* 创建简单消息邮件
*/
@Test
    public void testMail(){
        SimpleMailMessage message = new SimpleMailMessage();
        message.setSubject("这是主题");
        message.setText("这是内容");
        //收件人
        message.setTo("xxxxx@qq.com");
        //发送人
        message.setFrom("xxxxx@qq.com");
        mailSender.send(message);
}

/**
     * 创建复杂消息邮件
     */
    @Test
    public void testMail02() throws MessagingException {
        MimeMessage mimeMessage = mailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
        helper.setSubject("这是复杂消息邮件主题");
        helper.setText("<b style='color:red;'>这是复杂消息邮件内容</b>",true);
        //添加附件1
        helper.addAttachment("1.jpg",new File("E:\\desktop\\8234.jpg"));
        //添加附件2
        helper.addAttachment("2.docx",new File("E:\\desktop\\形势与政策课作业.docx"));
        //收件人
        helper.setTo("xxxx@qq.com");
        //发送人
        helper.setFrom("xxxxx@qq.com");
        mailSender.send(mimeMessage);
    }



复制代码

测试成功

SpringBoot与异步任务、定时任务、邮件任务

以上所述就是小编给大家介绍的《SpringBoot与异步任务、定时任务、邮件任务》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Algorithms

Algorithms

Sanjoy Dasgupta、Christos H. Papadimitriou、Umesh Vazirani / McGraw-Hill Education / 2006-10-16 / GBP 30.99

This text, extensively class-tested over a decade at UC Berkeley and UC San Diego, explains the fundamentals of algorithms in a story line that makes the material enjoyable and easy to digest. Emphasi......一起来看看 《Algorithms》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码