1邮件发送
1.1编写配置文件
#QQ邮箱 spring.mail.username=2082620872@qq.com #密码 spring.mail.password=rntexrvtuhmvefia #固定的 spring.mail.host=smtp.qq.com #开启加密验证 spring.mail.properties.mail.smtp.ssl.enable=true
1.2导入依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
1.3注入类
//自动注入一个邮箱发送 @Autowired JavaMailSenderImpl mailSender; @Test //简单邮件 void contextLoads() { //邮件发送 SimpleMailMessage mailMessage=new SimpleMailMessage(); mailMessage.setSubject("李泽宏你好"); //标题 mailMessage.setText("方根你好帅"); //内容 mailMessage.setTo("3344324253@qq.com"); //发送给谁 mailMessage.setFrom("2082620872@qq.com"); //发送者 mailSender.send(mailMessage); } @Test void contextLoads2() throws MessagingException { //复杂的邮件 MimeMessage mimeMailMessage= mailSender.createMimeMessage(); //组装 MimeMessageHelper helper=new MimeMessageHelper(mimeMailMessage,true);//true表示开启mimeMailMessage helper.setSubject("哈哈哈");//标题 helper.setText("干饭了");//内容 setText("卡视角就开始担",true)表示可以解析HTML //附件-------1.JPG自定义的图片名字,后面的是图片路径 helper.addAttachment("1.jpg",new File("D:\\360downloads\\wpcache\\srvsetwp\\2019361.jpg")); helper.addAttachment("2.jpg",new File("D:\\360downloads\\wpcache\\srvsetwp\\2033423.jpg")); helper.setTo("3344324253@qq.com"); //发送给谁 helper.setFrom("2082620872@qq.com");//发件人 mailSender.send(mimeMailMessage); }
2.定时器
2.1在主main方法中开启
@EnableScheduling //开启定时任务的注解
2.2在类上加入以下注解
//在固定的时间执行该方法 //cron表达式-----代表 秒-分-时-日-月 最后代表星期几 //0 21 14 * * 0-7 每天的14点21分执行 //0 0/5 14,15 * * 0-7 代表每天14,15点执行 0/5代表5分钟执行一次 @Scheduled(cron = "0/1 * * * * 0-7") public void Hello(){ System.out.println("执行了"); }
3.异步请求
3.1在主main方法中加入以下注解
//Enable表示自动开启
@EnableAsync //开启异步注解
3.2在serviceImpl层中写入
//告诉spring这是一个异步方法 @Async public void Hello(){ try{//停止3秒 Thread.sleep(3000); }catch (Exception e){ e.printStackTrace(); } System.out.println("数据在处理"); }
3.3控制层写入
@RestController public class AsynController { @Autowired private AsynService asynService; @RequestMapping(value = "/hello") public String Hello(){ asynService.Hello();//停止3秒 return "OK"; } }