当前位置: 首页 > news >正文

海川建设公司网站wordpress主题tint

海川建设公司网站,wordpress主题tint,120平办公室装修设计,18岁可以注册cn域名吗代码世界聚眸光,昼夜敲盘思绪长。 算法心间精构建,编程路上细思量。 屏前架构乾坤定,键上飞驰智慧扬。 默默耕耘成果现,创新科技铸辉煌。 目录 一,概念 二,Spring事务管理 三,rollbackFor事务回…

代码世界聚眸光,昼夜敲盘思绪长。
算法心间精构建,编程路上细思量。
屏前架构乾坤定,键上飞驰智慧扬。
默默耕耘成果现,创新科技铸辉煌。

目录

一,概念

二,Spring事务管理

三,rollbackFor事务回滚

四,propagation传播行为

一,概念

二,Spring事务管理

下面我们举一个小例子来演示一下

首先创建一个Service的接口:

public interface IYZService {/*** 处理用户信息* */User dealUser(String name);/*** 测试* */User testUser(String name);
}

然后实现Service接口:

@Component //将当前容器交给IOC容器管理 成为IOC容器中的bean
public class YZService implements IYZService {@Autowired  //运行时,IOC容器会提供该类型的bean对象,并赋值给该变量  这就是依赖注入private YZDao yzDao;@Overridepublic User dealUser(String name) {User user = yzDao.findUserByName(name);Address address = new Address();address.setCity("淄博");address.setProvince("山东");user.setAddress(address);return user;}@Overridepublic User testUser(String name) {User user = yzDao.findUserByName(name);Address address = new Address();address.setCity("淄博1");address.setProvince("山东1");user.setAddress(address);return user;}
}

Dao的接口和类:

public interface IYZDao {/** 根据用户姓名查找用户信息* **/User findUserByName(String name);
}
@Component //将当前容器交给IOC容器管理 成为IOC容器中的bean
public class YZDao implements IYZDao {@Overridepublic User findUserByName(String name) {User user = new User();user.setName(name);user.setAge(20);Address address = new Address();address.setProvince("北京");address.setCity("北京");user.setAddress(address);return user ;}
}

Controller层代码:

@RestController
public class RequestController {@Resource(name ="YZService")private IYZService yzService;@RequestMapping("/yzTestPath/{name}")public Result yzTestPath(@PathVariable String name){User user = yzService.dealUser(name);User user2 = yzService.testUser(name);List<User> list = new ArrayList<User>();list.add(user);list.add(user2);return  Result.success(list);}
}

测试:

下面我们先定义一个全局的异常处理器:GlobalExceptionHandler

/*** 全局异常管理器* */
@RestControllerAdvice
public class GlobalExceptionHandler {@ExceptionHandler(Exception.class)public Result exception(Exception e) {e.printStackTrace();return Result.error("对不起,操作失败,请联系管理员");}
}

接下来我们模拟一个异常

@RestController
public class RequestController {@Resource(name ="YZService")private IYZService yzService;@RequestMapping("/yzTestPath/{name}")public Result yzTestPath(@PathVariable String name){User user = yzService.dealUser(name);//抛出异常int i =1/0;User user2 = yzService.testUser(name);List<User> list = new ArrayList<User>();list.add(user);list.add(user2);return  Result.success(list);}
}

 接着我们请求接口:

然后看控制台:

 

错误的堆栈信息也打印出来了。

接下来我们继续将事务管理,这里需要用到@Transactional这个注解:

 这个注解一般是作用在业务层的曾删改这一层上面的

三,rollbackFor事务回滚

 那么我们如果要指定在所有异常情况下都回滚呢?

@Component //将当前容器交给IOC容器管理 成为IOC容器中的bean
public class YZDao implements IYZDao {@Transactional(rollbackFor = Exception.class)@Overridepublic User findUserByName(String name) {User user = 数据库操作return user ;}
}

四,propagation传播行为

常见的传播行为 

@Component //将当前容器交给IOC容器管理 成为IOC容器中的bean
public class YZDao implements IYZDao {@Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)@Overridepublic User findUserByName(String name) {User user = new User();user.setName(name);user.setAge(20);Address address = new Address();address.setProvince("北京");address.setCity("北京");user.setAddress(address);test();return user ;}@Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW)public void test(){}
}

http://www.yayakq.cn/news/174431/

相关文章:

  • 广开街网站建设公司程序员个人网站开发
  • 网站是做排行文具网站建设规划书
  • 福田企业网站推广哪个好企业网站模板下载网址
  • 自由贸易试验区网站建设方案thinkphp只能做网站
  • 网站备案后打不开黄山市网站建设
  • 仿美团网站开发旅游网站建设解决方案
  • 做网站为什么需要花钱北流网站建设制作
  • 百度站长工具收费吗建设银行网站修改
  • 在线免费做logo印章网站外国炫酷网站设计
  • 企业网站建站价格下载中心免费下载
  • iis7 静态网站网页视频下载快捷指令
  • 杭州咨询网站公司重庆最新通告
  • 长沙哪里有创建网站的公司大学生网页设计作业教程
  • 怎么做网站从0做到权重7大连金普新区城乡建设局网站
  • 网站推广计划书包含哪些内容网站模板怎么制作
  • 网上哪个网站教做西点快速建设网站工具
  • 网站内页不收录开发一套app要多少钱
  • 网站设配色自助建站 源码
  • 自闭症网站的建设意义广州洛可可设计公司
  • 跨境电商网站模板wordpress自带主题下载失败
  • 便民工具 网站开发wordpress图插件
  • dw做的网站设计无锡企业网站建设
  • 建站专业团队一站式服务黔东南手机网站建设
  • 兰州网站制作公司关于网站集约化建设公函
  • 销售网站排名少儿编程加盟学校
  • 外贸购物网站制作网站界面设计策划书怎么做
  • 简单三栏网站wordpress like 插件
  • 济南网站建设公司大全室内设计应届生简历
  • 基于互联网 模式下的安全网站建设网站开发jsp 很少
  • 网站内容是怎么吸引用户的wordpress 三一重工