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

东莞高端品牌网站建设/百度推广在哪里能看到

东莞高端品牌网站建设,百度推广在哪里能看到,烟台网站设计,蓟州区建设银行官方网站使用Spring Aop注解的时候,如Transactional, Cacheable等注解一般需要在类方法第一个入口的地方加,不然不会生效。 如下面几种场景 1、Controller直接调用Service B方法:Controller > Service A 在Service A 上加Transactional的时候可…

使用Spring Aop注解的时候,如@Transactional, @Cacheable等注解一般需要在类方法第一个入口的地方加,不然不会生效。

如下面几种场景

1、Controller直接调用Service B方法:Controller > Service A

在Service A 上加@Transactional的时候可以正常实现AOP功能。

2、Controller调用Service A方法,A再调用B方法:Controller > Service A > Service B

在Service B上加@Transactional的时候不能实现AOP功能,因为在Service A方法中调用Service B方法想当于使用this.B(),this代表的是Service类本身,并不是真实的代理Service对象,所以这种不能实现代理功能。

所以,如果不是直接调用的方式,是不能实现代理功能的,非常需要注意。

但确实有这种不是直接调用的试,也需要实现代理功能,怎么做呢?很简单,只需要暴露当前代理对象给当前线程就行了,如下配置,注解粗体的部分。

<!-- aspect --><aop:aspectj-autoproxy proxy-target-class="true" **expose-proxy="true"**/>protected final T proxy() {return (T) **AopContext.currentProxy()**;}

这样就能拿到代理对象了,在Service A中可以通过proxy().B()即可正常实现B方法上面的代理功能。

看下AopContext源码,Spring会将当前代理对象绑定到当前线程ThreadLocal上面。

关于线程绑定变量参考Java技术栈微信公众号分享的ThreadLocal文章。

关注公众号Java技术栈回复"面试"获取我整理的2020最全面试题及答案。

推荐去我的博客:

1.Java JVM、集合、多线程、新特性系列教程

2.Spring MVC、Spring Boot、Spring Cloud 系列教程

3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程

4.Java、后端、架构、阿里巴巴等大厂最新面试题

觉得不错,别忘了点赞+转发哦!

最后,关注下面的栈长的微信公众号:Java技术栈,回复:福利,可以免费获取一份我整理的 2020 最新 Java 面试题,真的非常全(含答案),无任何套路。

http://www.lbrq.cn/news/1531369.html

相关文章:

  • 企业家网站建设/网络营销推广的
  • 零基础建设网站视频教程/推广策划方案模板
  • wordpress目录upgrade/南昌搜索引擎优化
  • 站长查询域名/百度推广登录手机版
  • 长沙模板建站平台/广州:推动优化防控措施落地
  • 什么是网站html静态化/东莞百度推广优化排名
  • 网站怎么建设/游戏推广是什么工作
  • 网站建设服务是什么意思/百度浏览器app下载
  • 成都企业品牌网站建设/长沙seo霸屏
  • 企业管理网站/东莞哪种网站推广好
  • 外贸免费自助建站平台/青岛百度推广优化
  • 宝鸡政府网站建设公司/站长素材音效下载
  • 西安广告公司网站建设/百度推广助手客户端
  • 邯郸媒体网络营销诚信合作/seo站长平台
  • 苏州 ebcart 网站开发/友情链接平台赚钱吗
  • 怎么做虚拟的网站/36优化大师下载安装
  • 网站做投票系统/二十条优化措施
  • 通辽建设公司网站/百度官网电话客服24小时
  • 做直播网站赚钱/央视新闻的新闻
  • 网站怎么做二维码/市场调研报告
  • 创建一个网站/建站工具
  • 网站建设公司做销售好不好/sem投放是什么意思
  • 湖北工程建设总承包有限公司网站/全网霸屏推广系统
  • 中国人事建设部网站/新型网络搜索引擎
  • 如何查询网站是哪家公司做的/女生读网络营销与电商直播
  • 网站设计前期沟通单/如何优化关键词的方法
  • seo是什么服/关键词快速优化排名软件
  • 如何做转发文章赚钱的网站/营销网站建设价格
  • 昆明网站制作方案/宁波seo博客
  • 本溪建网站/广州排名推广
  • ES_文档
  • leetcode 76 最小覆盖子串
  • KubeBlocks for ClickHouse 容器化之路
  • imx6ull-驱动开发篇30——Linux 非阻塞IO实验
  • Flink双流join
  • STM32H743芯片STM32H750解密解析