1.异步任务
在要异步的方法上加 @Async注解
//告诉spring这是一个异步方法(原理就会开启一个线程池调用这个方法)@Asyncpublic void hello(){try {Thread.sleep(3000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("任务开始处理");}
在启动类上加@EnableAsync ```java @SpringBootApplication @EnableAsync//开启异步注解功能 public class EsApplication {
<a name="UvZTb"></a># 2.定时任务1. 在启动类上加@EnableScheduling```java@EnableSchedulingpublic class EsApplication {
- 在要定时执行的方法啥加@Scheduled(cron = “ * MON-FRI”)
- 以下是每周一到周五每秒都执行一次
/*** second(秒) minute(分), hour(时), day of month(日), month(月) and day of week(周几)* "0 * * * * MON-FRI"(每周一到周五整秒的时候执行一次)* // @Scheduled(cron = "0 * * * * MON-FRI")//每周一到周五整秒的时候执行一次// @Scheduled(cron = "* * * * * MON-FRI")//每周一到周五每秒都执行一次// @Scheduled(cron = "0,2,3,4 * * * * MON-FRI")//周一到周五每分钟的0-4整秒的时候执行(枚举)// @Scheduled(cron = "0-4 * * * * MON-FRI")//周一到周五每分钟的0-4整秒的时候执行(区间)@Scheduled(cron = "0/4 * * * * MON-FRI")//每4秒执行一次*/@Scheduled(cron = "* * * * * MON-FRI")public void helloScheduled(){System.out.println("hello");}

3.邮件任务
3.1pom引入依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency>
3.2发件人邮箱设置
这里以qq邮箱为例,首先要开启smtp服务,然后就是要生成授权码(这个授权码才是邮箱的密码),我自己生成的授权码是:srqmtrolyymhbada
activation3.2配置application
```json spring.mail.username=1411344876@qq.com spring.mail.password=srqmtrolyymhbada spring.mail.host=smtp.qq.com spring.mail.properties.mail.smtp.ssl.enable=true
- 以下是每周一到周五每秒都执行一次
<a name="Pj6cs"></a>## 3.3测试发邮件1. 简单的发文本```java@AutowiredJavaMailSenderImpl javaMailSender;@Testpublic void testmail(){SimpleMailMessage message = new SimpleMailMessage();//邮件设置message.setSubject("今晚技术部开会");//标题message.setText("18点开会,地址技术部办公室,不得迟到");//内容message.setTo("1913284695@qq.com");//发给谁message.setFrom("1411344876@qq.com");//谁发的javaMailSender.send(message);}
发带附件的邮件
@Testpublic void test2() throws Exception{//创建一个复杂的消息邮件MimeMessage message=javaMailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(message,true );//邮件设置helper.setSubject("今晚技术部开会");//标题helper.setText("<b>18点开会</b><br>地址技术部办公室,不得迟到",true);//内容helper.setTo("1913284695@qq.com");//发给谁helper.setFrom("1411344876@qq.com");//谁发的//上传文件helper.addAttachment("1.png",new File("D:\\upimgs\\article\\1.png"));javaMailSender.send(message);}
