异步任务,邮箱任务,定时任务

task~

    • 异步任务
    • 邮箱任务
    • 定时任务

源码下载

异步任务

开启多线程,我飞了。

package cn.bitqian.service;import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;/*** 异步任务 目的 多线程,交给spring托管,带来良好的用户体验* @author echo lovely* @date 2020/10/30 8:55*/
@Service
public class AsyncService {// 开启了异步任务 多线程@Asyncpublic void hello() {try {Thread.sleep(3000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("任务进行中...");}}

启动函数EnableXXX

@EnableAsync // 开启了异步任务

上面的睡眠和打印,会同时进行。
如果不开启,程序会等三秒钟响应。

邮箱任务

邮箱附件,使用qq可以发送邮箱。
导入启动器

 <!-- com.sun.mail --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency>

这里使用qq邮箱发送,application.properties邮箱的配置

spring.mail.username=999999@qq.com
# 此密码为qq邮箱网页版的授权码,绑定了手机,会发验证码验证
spring.mail.password=abcdefg
spring.mail.host=smtp.qq.com
# 开启加密验证
spring.mail.properties.mail.smtp.ssl.enalbe=true

邮箱发送(发送普通文本,附件)

package cn.bitqian;import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;
import java.io.FileNotFoundException;@SpringBootTest
class SpringbootTaskApplicationTests {@AutowiredJavaMailSenderImpl mailSender;@Testvoid contextLoads() {// 一封简单的mail~SimpleMailMessage mailMessage = new SimpleMailMessage();mailMessage.setSubject("hello bitqian");mailMessage.setText("send a simple email using springboot.. by qq");mailMessage.setFrom("999999@qq.com");mailMessage.setTo("999999@qq.com");mailSender.send(mailMessage);}@Testvoid test1() throws MessagingException, FileNotFoundException {// 发送带有附件 的邮件MimeMessage mimeMessage = mailSender.createMimeMessage();// 发送多个附件,并设置编码MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);// 发送图片helper.addAttachment("1.png", new File("C:\\Users\\Pictures\\Eibw4t2UMAEoosS.jfif"));// 发送音乐helper.addAttachment("Innocence.mp3", new File("F:\\music\\Avril Lavigne - Innocence.mp3"));helper.setSubject("发送了图片和音乐");helper.setText("<p style='color:red'>springboot 邮箱发送附件测试</p>");helper.setFrom("999999@qq.com");helper.setTo("999999@qq.com");mailSender.send(mimeMessage);}}

定时任务

quartz,这个。在boot里面更简单了。

  1. 启用定时任务
package cn.bitqian;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;@SpringBootApplication
@EnableScheduling // 开启定时任务
public class SpringbootTaskApplication {public static void main(String[] args) {SpringApplication.run(SpringbootTaskApplication.class, args);}}
  1. corn表达式
package cn.bitqian.service;import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;/*** 定时任务 springboot 已经集成* @author echo lovely* @date 2020/10/30 11:26*/
@Service
public class ScheduledService {// corn表达式: 秒 时 分 日 月 周几@Scheduled(cron = "0/1 0/1 0/1 * * ?")public void show() {System.out.println("执行123...");}}

spring实现定时任务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/420552.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iframe在ipad safari的显示

今 天要在web中嵌套一个网址或本地HTML&#xff0c;用到了iframe&#xff0c;在电脑上设置scrolling‘auto’&#xff0c;宽度高度&#xff0c;会有滚动条出现。而在 ipad上会全部显示整个网页的宽度高度。scrolling属性无效。原来在html5中的iframe已经只有剩下src的属性。 但…

IOS 开发中 Whose view is not in the window hierarchy 错误的解决办法

在 IOS 开发当中经常碰到 whose view is not in the window hierarchy 的错误&#xff0c;该错误简单的说&#xff0c;是由于 "ViewController" 还没有被加载&#xff0c;就调用该 ViewController 或者 ViewController 内的方法时&#xff0c;就会报这个错误。在不同…

maven传递依赖

目录1. 依赖传递2. 什么是依赖冲突3. 怎么解决4. 项目聚合maven是一个项目管理的工具&#xff0c;从项目的构建到项目开发&#xff0c;再到项目的测试&#xff0c;项目上线&#xff0c;都可一键管理。1. 那么&#xff0c;还有maven是如何管理项目中所用到的jar版本冲突&#xf…

使用apache FileUtils下载文件

目录工具代码实现测试工具 <dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.5</version></dependency>或者 https://mvnrepository.com/artifact/commons-io/commons-io/2.7 然后放…

二分图多重匹配

在二分图的最大匹配中&#xff0c;每个点&#xff08;不管是X集合还是Y集合&#xff09;最多只能与一条匹配边相关联&#xff0c; 然而&#xff0c;经常有这种问题&#xff0c;即二分图的一个点可以和多条匹配边相关联&#xff0c;但有上限&#xff0c;即cap[i]表示点i最多能和…

springmvc,spring,hibernate5.0整合

目录1. pom依赖2. web.xml3. spring核心配置文件3.1 jdbc配置信息3.2 sping 配置文件4. 实体映射5. 项目结构5.1 curd5.2 页面6. 测试1. spring版本 5.1.5 RELEASE 2. hibernate版本 5.3.9.Final 3. 数据源使用c3p0项目使用eclipse2017 maven构建, 完成学生的新增&#xff0c;…

MYSQL 查看表上索引的 1 方法

前期准备&#xff1a; create table T9(A int ,B text,C text,fulltext index fix_test_for_T8_B(B));#在定义表的时候加索引 create unique index ix_test_for_T8_A on T9(A);#加朴素索引 create fulltext index fix_test_for_T8_C on T9(C);#加全文索引 --------------------…

springmvc 结合ajax批量新增

目录1. 需要注意的问题2. 页面代码3. controller定义参数接收1. 需要注意的问题 mvc框架的处理日期问题ResponseBody响应对象是自定义对象&#xff0c;响应不是jsonResopnseBody响应自定义对象时&#xff0c;日期为是long类型的数结束数据方法的参数&#xff0c;该如何定义&am…

吐槽一下Activiti的用户手册和一本书

业余没事的时候&#xff0c;看了点Java的资料&#xff0c;无意之中发现了Activiti&#xff0c;就打算自己跑几个例子看看到底是怎么回事。一直搞底层&#xff0c;也得偶尔关心下上层到底发展到什么程度了不是。悲惨的过程就是这么开始的&#xff0c;首先是Activiti的用户手册&a…

手写简单的启动器

starter1. target2. 手写启动器~2.1 自动装配&#xff0c;自定义属性2.2 启动器&#xff0c;引用自动装配模块3. 在自己的项目引用上面的starter1. target 1. 启动器只用来做依赖导入(导入配置模块)2. 专门来写一个自动配置模块3. 启动器依赖自动配置&#xff1b;别人只需要引入…

Android 颜色渲染(九) PorterDuff及Xfermode详解

Android 颜色渲染(九) PorterDuff及Xfermode详解之前已经讲过了除ComposeShader之外Shader的全部子类, 在讲ComposeShader(组合渲染)之前, 由于构造ComposeShader需要 PorterDuffXfermode或者PorterDuff.Mode作为参数,所以在此先详细地了解下这两个类的作用,这对之后的绘图会…

拦截器(二)

只拦截controller的请求, 基于aop&#xff0c;横切。 Spring MVC的拦截器类似于Servlet开发中的过滤器Filter&#xff0c; 用于对处理器进行预处理和后处理。 将拦截器按一定的顺序联结成一条链&#xff0c; 这条链称为拦截器链&#xff08;InterceptorChain&#xff09;。 在访…

nodejsmongoangularjs

http://www.ibm.com/developerworks/cn/web/wa-nodejs-polling-app/转载于:https://www.cnblogs.com/xixifusigao/p/4037928.html

每次新建Android项目都报样式找不到的错误?

问题描述如图再网上找了下说改为<style name"AppBaseTheme" parent"android:Theme.Light">这样就行了的确改为这样就ok了但是如果每次都要这么改&#xff0c;不是很烦&#xff1f;有没有彻底解决这个问题的方法&#xff1f;谢谢 解决方案1新建的时候…

spring mvc全局异常处理,注解实现

ssm框架中的异常处理&#xff0c;可以是dao, service, controller 一直抛出异常&#xff0c;抛出就完事了。最终由全局异常类捕获&#xff0c;进行日志记录&#xff0c;页面跳转。… 核心注解 // 方法级别 ExceptionHandler // 全局异常类上 ControllerAdvice // ControllerA…

Qt多线程学习:创建多线程

【为什么要用多线程&#xff1f;】 传统的图形用户界面应用程序都仅仅有一个运行线程&#xff0c;而且一次仅仅运行一个操作。假设用户从用户界面中调用一个比較耗时的操作&#xff0c;当该操作正在运行时&#xff0c;用户界面一般会冻结而不再响应。这个问题能够用事件处理和多…

sql server使用杂记

SqlServer导出数据库 navcat for sql server中打开连接&#xff0c;打开数据库&#xff0c;右键--数据传输&#xff0c;常规选项卡--模式选择dbo&#xff0c;目标选择连接&#xff08;选择你新建的库&#xff09;或者文件&#xff08;导出你要的sql文件位置&#xff09;&#x…

图解springmvc 执行流程

核心对象 DispatcherServlet 核心控制器负责请求&#xff0c;响应&#xff0c;数据的分发。HandlerMapping 处理器映射器&#xff0c;负责到controller中&#xff0c;找到对应的方法&#xff0c;返回给核心控制器。HandleAdapter 处理适配器&#xff0c;将handle找到的方法执行…