哈尔滨搜索引擎排名,嘉兴seo外包服务商,网站建设与管理实践心得,项目管理wordpress/*spring事务管理注解:Transactional位置:业务(service)层的方法上、类上、接口上作用:将当前方法交给spring进行事务管理#xff0c;方法执行前#xff0c;开启事务:成功执行完毕#xff0c;提交事务:出现常#xff0c;回滚事务需要在配置文件是加上开启spring事务yml文件… /*spring事务管理注解:Transactional位置:业务(service)层的方法上、类上、接口上作用:将当前方法交给spring进行事务管理方法执行前开启事务:成功执行完毕提交事务:出现常回滚事务需要在配置文件是加上开启spring事务yml文件格式# 开启事务管理日志
logging:level:org.springframework.jdbc.support.dbcTransactionManager: debugTransactional()表示开启事务这个方法要么全部成功要么全部失败*//*默认情况下Transactional在捕获运行时期异常要想捕获全部异常还需要设置rollbackFor Exception.class*//*1.事务传播行为:指的就是当一个事务方法被另一个事务方法调用时,REQUIRED【默认值】需要事务有则加入无则创建新事务,意思就是事务嵌套了和上级事务共用一个事务REQUIRES NEW 需要新事务无论有无总是创建新事务,意思就是事务嵌套了和单独创建新事务共用一个事务独立执行* */Transactional(rollbackFor Exception.class)Overridepublic void delesc(Integer id) throws Exception {try {jieshou.deletesc(id);int k 1/0;if (true){throw new Exception();}remover.deleteremover(id);} finally {shijibo.Logclass(本次删除的 id);}}//-----------------------------------------------------------------------------------
package com.example.tlias.longremark;
import com.example.tlias.mapperclass.logdiary;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;/*propagation Propagation.REQUIRES_NEW表示开启了一个新的事务当前事务执行才会
去执行上面一级嵌套的事务*/
Transactional(propagation Propagation.REQUIRES_NEW)
//spring日志注解
Slf4j
Component
public class remarklog {Autowired
public logdiary shizhi;public void Logclass(String remark){shizhi.logg(LocalDateTime.now(),remark);}}