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

个人网站上传有啥要求舆情网站

个人网站上传有啥要求,舆情网站,婚纱官网,瀑布流wordpress这是一个非常常见的关于 Spring 事务传播机制 的问题,核心问题是: 在同一个类中,方法 A 调用方法 B,而方法 B 上有 Transactional 注解。当调用方法 A 时,如果发生异常,方法 B 的事务会生效吗? …

这是一个非常常见的关于 Spring 事务传播机制 的问题,核心问题是:

在同一个类中,方法 A 调用方法 B,而方法 B 上有 @Transactional 注解。当调用方法 A 时,如果发生异常,方法 B 的事务会生效吗?


✅ 简短回答:

 

📌 示例代码说明

@Service
public class MyService {public void methodA() {// 做一些操作methodB();  // 内部调用methodB}@Transactionalpublic void methodB() {// 数据库操作}
}

❗️问题:

  •  

🤔 为什么事务不生效?

因为 Spring 的事务是通过 动态代理(JDK Proxy 或 CGLIB) 实现的:

  •  

✅ 如何解决这个问题?

✅ 方案一:将方法拆分到不同的类中

把 methodB() 放到另一个 Service 类中:

@Service
public class MyService {@Autowiredprivate AnotherService anotherService;public void methodA() {// 做一些操作anotherService.methodB();  // 外部调用}
}@Service
public class AnotherService {@Transactionalpublic void methodB() {// 数据库操作}
}

✅ 这样事务就会生效了。


✅ 方案二:通过 AopContext.currentProxy() 获取代理对象(慎用)

你可以通过以下方式获取当前类的代理对象来调用 methodB()

@Service
public class MyService implements ApplicationContextAware {private static ApplicationContext applicationContext;@Transactionalpublic void methodB() {// 数据库操作}public void methodA() {// 获取当前类的代理对象MyService proxy = (MyService) AopContext.currentProxy();proxy.methodB();  // 使用代理调用}@Overridepublic void setApplicationContext(ApplicationContext ctx) {applicationContext = ctx;}
}

⚠️ 注意事项:

  •  

🔁 补充:事务传播行为(Propagation Behavior)

如果你希望方法B的行为能被方法A控制,可以指定事务传播行为,例如:

@Transactional(propagation = Propagation.REQUIRES_NEW)
public void methodB() {// 总是开启一个新事务
}

 

✅ 总结

场景事务是否生效说明
同一类内调用带 @Transactional 的方法❌ 不生效Spring 无法拦截内部方法调用
不同类之间调用带 @Transactional 的方法✅ 生效通过代理对象调用,事务生效
使用 AopContext.currentProxy() 调用✅ 可以生效需要设置 expose-proxy=true

 

http://www.15wanjia.com/news/20408.html

相关文章:

  • wordpress程序做mip步骤北京百度seo服务
  • 商务网站构建方法新闻最新消息
  • 个人操作做网站排名代做seo关键词排名
  • 旅游网站建设的市场分析广告公司
  • 网站建设费计入什么科目比较好查域名
  • 微信网站建设报价表免费的seo优化工具
  • 老河口网站设计苏州seo关键词排名
  • 江油官方网站建设留手机号广告
  • asp.net 个人网站宁波seo排名优化
  • php网站开发书营销策划经典案例
  • 做网站 图片格式淘宝搜索热词排名
  • 公司网站建设费入账seo关键词排名报价
  • 云南省科技网站网站排名搜索
  • 网站制作web678简述影响关键词优化的因素
  • 网站建设类行业资讯app推广注册接单平台
  • 做本地团购网站做一个网站
  • 酒店网站建设的构思手机访问另一部手机访问文件
  • 建立一个公司网站大约多少钱免费行情网站
  • 国外网站空间租用费用电商平台有哪些?
  • 网站改版的意义福州短视频seo获客
  • 做gif表情包网站企业网站营销优缺点
  • 天津设计公司招聘上海网站seo
  • 广安做网站公司域名大全
  • 外贸网站自建站百度竞价点击一次多少钱
  • 杨幂做的网站广告网页链接制作生成
  • 互联网建网站如何交换友情链接
  • 企业网站的好处哈尔滨百度搜索排名优化
  • 有特效的网站最新黑帽seo教程
  • 帝国 只做网站地图武汉今日头条最新消息
  • 怎么做销售网站免费做网站的平台