异步,与邮件发送 ,定时任务

异步: 不用等待3秒,可以直接跳过执行后面的东西

复制代码
@Service
public class AsynService {

    //告诉spring 这个是异步方法
    @Async
    public void hello(){
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("数据正在加载");
    }
}


//----------------
@RestController
public class AsynController {
    @Autowired
    AsynService asynService;

    @RequestMapping("/hello")
    public String hello1(){
        asynService.hello();
        return "ok";
    }
}
View Code
复制代码

大main方法上的注解

//开启异步注解功能
@EnableAsync

邮件发送

复制代码
@SpringBootTest
class Springboot09TestEbApplicationTests {
    @Autowired
    JavaMailSenderImpl mailSender;

    @Test
    void contextLoads() {
        //一个简单的邮件
        SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
        simpleMailMessage.setSubject("hello"); //邮件主题
        simpleMailMessage.setText("桂明现在到哪里了");//文本
        simpleMailMessage.setTo("1213146817@qq.com");
        simpleMailMessage.setFrom("614194188@qq.com");
        mailSender.send(simpleMailMessage);
    }
    @Test
    void contextLoads2() throws MessagingException {
        //一个复杂的邮件
        MimeMessage mimeMessage = mailSender.createMimeMessage();
        //组装                                              multipart 多部分
        MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage,true,"utf-8");
        mimeMessageHelper.setSubject("你好");// 主题
        mimeMessageHelper.setText("<p style='color:red'>应该是红色的,桂明到哪了</p>",true);  //支持网页标签
        mimeMessageHelper.addAttachment("1.txt",new File("C:\\Users\\AKAGI\\Desktop\\Python小技巧.txt"));
        mimeMessageHelper.setTo("1213146817@qq.com");
        mimeMessageHelper.setFrom("614194188@qq.com");
        mailSender.send(mimeMessage);
    }

}
复制代码

 定时任务

cron表达式在线生成

复制代码
@Service
public class ScheduledScheduling {
    //在特定时间执行这个方法
    //cron表达式
    //每隔10秒执行一次
    @Scheduled(cron = "0/10 * * * * ? ")
    public void hello(){
        System.out.println("hello,你被执行了~");
    }
}



//  大main上注解
@EnableScheduling //开启定时功能的注解   @Scheduling去使用(什么时候执行)
复制代码

 

posted @   磕伴  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示