【SpringBoot学习09】任务与邮件
1. 任务(Task)
springboot整合第三方技术,今天我们来说说任务系统,其实这里说的任务系统指的是定时任务。定时任务是企业级开发中必不可少的组成部分,诸如长周期业务数据的计算,例如年度报表,诸如系统脏数据的处理,再比如系统性能监控报告,还有抢购类活动的商品上架,这些都离不开定时任务。本节将介绍task定时任务技术。
spring根据定时任务的特征,将定时任务的开发简化到了极致。怎么说呢?要做定时任务总要告诉容器有这功能吧,然后定时执行什么任务直接告诉对应的bean什么时间执行就行了,就这么简单,一起来看怎么做
1.1 开启定时任务功能
开启定时任务功能,在引导类上开启定时任务功能的开关,使用注解@EnableScheduling
@SpringBootApplication //开启定时任务功能 @EnableScheduling public class Springboot15TaskApplication { public static void main(String[] args) { SpringApplication.run(Springboot15TaskApplication.class, args); } }
1.2 定义Bean
@Component public class Mytask { //每隔两秒进行,任意分钟,小时,天,月,不限星期 @Scheduled(cron = "0/2 * * * * ?") public void love(){ System.out.println(Thread.currentThread().getName()+" love hx"); } }
有需要还可以再yml配置文件中配置相关信息。
spring: task: scheduling: thread-name-prefix: Adrian
根据定时设置,在两秒钟之后执行一次操作。
2. 邮件
springboot整合第三方技术,今天我们来说说邮件系统,发邮件是java程序的基本操作,springboot整合javamail其实就是简化开发。不熟悉邮件的小伙伴可以先学习完javamail的基础操作,再来看这一部分内容才能感触到springboot整合javamail究竟简化了哪些操作。
学习邮件发送之前先了解3个概念,这些概念规范了邮件操作过程中的标准。
-
SMTP(Simple Mail Transfer Protocol):简单邮件传输协议,用于发送电子邮件的传输协议 POP3(Post Office Protocol - Version 3):用于接收电子邮件的标准协议 IMAP(Internet Mail Access Protocol):互联网消息协议,是POP3的替代协议
2.1 导入springboot整合javamail的starter
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
2.2 配置邮箱的登录信息
spring: mail: host: smtp.126.com username: test@126.com password: test
2.3 使用JavaMailSender接口发送邮件
定义接口及实现类
public interface MailService { void sendMail(); }
下面的from和to分别填写发邮箱和接收邮箱的账号
运行程序,就可以在接收方的邮箱中找到对应邮件。注意,这里接收双方都得开启smtp服务,不然发送会失败。
2.4 发送网页正文及附件邮件
总结
springboot整合javamail其实就是简化了发送邮件的客户端对象JavaMailSender的初始化过程,通过配置的形式加载信息简化开发过程
最后,感兴趣的小伙伴也可以将任务和邮件结合起来,定时发送文件。
上一篇:
IDEA上Java项目控制台中文乱码