Springboot 异步,邮件,定时任务。

原始的
加入在这里设置停止3s

package com.jj.demo.service;

import org.springframework.stereotype.Service;

@Service
public class Asnycservice {
    
    
    public void hello() throws InterruptedException {
    
    
        Thread.sleep(3000);
        System.out.println("数据在处理!!");
    }
}


控制台的代码

package com.jj.demo.controller;

import com.jj.demo.service.Asnycservice;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;

@Controller
public class Asnycontrller {
    
    
//    注入service
    @Autowired
    Asnycservice asnycservice;
      @RequestMapping("/hello")
    @ResponseBody
    public String demo1() throws Exception {
    
    
        asnycservice.hello();
        return "ok!";
    }
}

效果,用户会在页面等待
在这里插入图片描述

这时我们可以用Springboot 的异步任务,只需要开启俩个注解,用途,假如我们在发送邮件的时候,要先告诉用户在发送,后台可以在处理数据。
在这里插入图片描述
在这里插入图片描述
就可以了
效果
在这里插入图片描述
邮件
简单的文本邮件
导入依赖

<!--        邮箱的-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>

配置yml

#邮箱的配置
spring:
  mail:
    host: smtp.163.com
    username: ************@163.com
    password: ****************
    protocol: smtp
    default-encoding: UTF-8

在测试类里写
在这里插入图片描述
效果
在这里插入图片描述
实现二,发送不普通的邮件!
在这里插入图片描述
效果
在这里插入图片描述
颜色跟图片都过来了!
在这里插入图片描述
定时的任务
关键的接口

TaskScheduler 任务调度者
TackExecutor 任务执行者、
在主程序里加入注解
在这里插入图片描述

在业务层写

package com.jj.demo.service;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;

@Service
public class Schedulingservice {
    
    
    //cron 表达式
    //秒 分 时 日 月  周几
    @Scheduled(cron = "0 38 16 * * ?")
public  void helo(){
    
    
        System.out.println("哈哈哈哈哈");
    }
}

效果
在这里插入图片描述
百度的一个cron 表达式

猜你喜欢

转载自blog.csdn.net/m0_46937429/article/details/111769554
今日推荐