原始的

加入在这里设置停止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 异步,邮件,定时任务。_spring

这时我们可以用Springboot 的异步任务,只需要开启俩个注解,用途,假如我们在发送邮件的时候,要先告诉用户在发送,后台可以在处理数据。

Springboot 异步,邮件,定时任务。_数据_02

Springboot 异步,邮件,定时任务。_数据_03

就可以了

效果

Springboot 异步,邮件,定时任务。_百度_04

邮件

简单的文本邮件

导入依赖

<!--        邮箱的-->
<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

在测试类里写

Springboot 异步,邮件,定时任务。_数据_05

效果

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

实现二,发送不普通的邮件!

Springboot 异步,邮件,定时任务。_数据_07

效果

Springboot 异步,邮件,定时任务。_百度_08

颜色跟图片都过来了!

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

定时的任务

关键的接口

TaskScheduler 任务调度者

TackExecutor 任务执行者、

在主程序里加入注解

Springboot 异步,邮件,定时任务。_百度_10

在业务层写

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("哈哈哈哈哈");
}
}

效果

Springboot 异步,邮件,定时任务。_百度_11

​百度的一个cron 表达式​