原始的
加入在这里设置停止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("哈哈哈哈哈");
}
}
效果