学习笔记(9)事务
隐式传参
怎么获取代理对象呢,AopContext.currentProxy()使用ThreadLocal保存了代理对象,因此((Service) AopContext.currentProxy()).B()就能解决。
public void saveProduct(PmsProductParam productParam) {
ProductServiceImpl proxy = (ProductServiceImpl) AopContext.currentProxy();
//1)、pms_product:保存商品基本信息
proxy.saveBaseInfo(productParam);
//5)、pms_sku_stock:sku_库存表
proxy.saveSkuStock(productParam);
/**
* 以下都可以try-catch互不影响
*/
//2)、pms_product_attribute_value:保存这个商品对应的所有属性的值
proxy.saveProductAttributeValue(productParam);
//3)、pms_product_full_reduction:保存商品的满减信息
proxy.saveFullReduction(productParam);
//4)、pms_product_ladder:满减表
proxy.saveProductLadder(productParam);
//以上的写法只是相当于一个saveProduct事务。
}
//当前线程共享同样的数据
public static ThreadLocal<Long> threadLocal = new Th