SpringBoot(事务管理,异步任务,任务调度,整合Mail)
创始人
2024-11-19 07:08:15

spring自身就集成了许多中间件,可以帮助我们进行日常的开发。

一:Spring Boot中的事务管理

spring事务管理有两种方式

编程式:

即:使用AOP中的切点,切面的知识,利用代理模式对事务进行管理,即AOP在事务方面的应用,具体代码如下:

    public Object AroundLogger(ProceedingJoinPoint pjp){         Object returnobj = null;//保存主业务方法的返回值         try{           //1.前置通知           System.out.println("环绕通知===》前置通知");            Object[] objs = pjp.getArgs();//主业务方法的参数           returnobj =  pjp.proceed(objs);//调用主业务方法             //3.后置通知           System.out.println("环绕通知===》返回通知");       }catch (Throwable tw){         //4.异常通知         System.out.println("环绕通知===》异常通知");       }finally{         //5.最终通知         System.out.println("环绕通知===》后置通知");       }       return returnobj;     }

声明式:

相比编程式简单得多,是Spring Boot已经封装好的。

//设置事务,在需要进行声明的类或方法上进行添加,@Transactional @Transactional(isolation = Isolation.DEFAULT) @Transactional(propagation = Propagation.REQUIRED) //开启事务,在启动类上添加 @EnableTransactionManagement

二:Spring Boot中异步任务

像发送短信等业务,由于发送短信比较慢,所以可以提前将成功消息返回,就像直接跳转到登录界面等待输入验证码,但实际验证码还有3,4秒才会发送到,甚至可能发送失败。

这种一步处理的方式只适合那种不影响主业务功能的部分使用,因为如果处理失败也不会影响主业务。

@EnableAsync 启动类上开启基于注解的异步任务 @Async 标识的方法会异步执行

三:定时任务调度

在项目开发中,经常需要执行一些定时任务,比如 每月1号凌晨需要汇总上个月的数据分析报表; 每天 凌晨分析前一天的日志信息等定时操作。Spring 为我们提供了异步执行定时任务调度的方式

@EnableScheduling启动类上开启基于注解的定时任务 @Scheduled标识的方法会进行定时处理 //需要通过 cron 属性来指定 cron 表达式:秒 分 时 日 月 星期 年 //在线生成cron表达式 http://cron.qqe2.com/

四:Spring整合Mail

导入坐标

      org.springframework.boot      spring-boot-starter-mail  

开启配置

#配置邮箱信息 spring.mail.username=  spring.mail.password=  #发送邮件服务器 spring.mail.host=smtp.qq.com  #ssl连接 spring.mail.properties.smtp.ssl.enable=true

编写代码

//邮件收发核心类 JavaMailSenderImpl javaMailSender;  //封装简单的邮件内容 SimpleMailMessage  //封装复杂的邮件(携带附件) MimeMessage  MimeMessageHelper

相关内容

热门资讯

刚刚,Claude最新功能泄露... 新智元报道 编辑:定慧 大卫 【新智元导读】2026年5月4日,testingcatalog在An...
高分辨大宽带集成光子光谱仪成功... 麦姆斯咨询获悉,近日,中国科学院南京天文光学技术研究所天文光子学团队在面向天文观测的高分辨大宽带集成...
性价比高又稳定的云手机哪个好?... 作为搬了4年砖、踩过无数云手机坑的老玩家,今天直接给你们唠唠性价比高又稳定的云手机选法,全是实战干货...
以灵石破局,万物云参编国内首部... 4月23日,由低碳智慧建筑产业技术创新战略联盟与北京清华同衡规划设计研究院有限公司主办、万物云作为协...
专访 | CLA成功反哺全球 ... 2026年,是奔驰诞生的140周年,也是奔驰进入中国内地市场的20周年。 140年间,从第一款汽车问...