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

做网站的骗局营销托管全网营销推广

做网站的骗局,营销托管全网营销推广,wordpress 搜索 自定义,公安厅门户网站建设方案1. 问题描述 Spring-mvc和Spring-boot中aop可以实现代理的功能,我们可以借此实现事务和日志记录或者限流等多种操作。但是,如果你在一个方法中调用其同类下的其他方法的时候不会触发AOP。本文主要说明其原因及解决办法和实现原理。 2. 原因 AIOP的本质是…

1. 问题描述

        Spring-mvc和Spring-boot中aop可以实现代理的功能,我们可以借此实现事务和日志记录或者限流等多种操作。但是,如果你在一个方法中调用其同类下的其他方法的时候不会触发AOP。本文主要说明其原因及解决办法和实现原理。

2. 原因

        AIOP的本质是,我们获取代理对象,该对象执行方法的时候,我们对其进行增强操作。例如:下图示例1中bicycle对象执行drive方法的时候,我们对其执行了增强。但是,如果我们在示例2中调用同类的其他方法的时候,本质使用this.drive(),此处的this是真实对象bicycle,而不是代理对象cglibProxy,因而不会进行增强。

3. 解决办法

3.1 直接从spring容器中获取

        参考下图中方法all1,SpringUtils实现代码参考 SpringUtils

3.2 借助Aspectj获取代理对象

        参考下图中方法all2

4. 解析

        SpringUtils直接是创建对象后,在spring容器中管理,便于理解。此处主要解析3.2。在启动类添加@EnableAspectJAutoProxy(exposeProxy = true, proxyTargetClass = true)后,可以发现在调用spring对象方法之前,会先进入CglibAopProxy中,并将当前spring对象放到ThreadLocal中,使用的时候直接从threadLocal中取即可。相关源码贴图如下。

4.1 org.springframework.aop.framework.CglibAopProxy

4.2 org.springframework.aop.framework.AopContext

5. 总结

        两种方法都是直接获取代理对象,调用目的方法达到方法增强的目的,并且都是相对成熟的实现方案。但是个人更喜欢前者(springUtils获取),原因在于无侵入,且大部分项目都会自定义该工具。后者相对于前者,或多或少存在一点开销。

http://www.shuangfujiaoyu.com/news/21226.html

相关文章:

  • 网站建设贝尔利nba湖人队最新消息
  • 微网站独立域名上海好的网络推广公司
  • 视频网站主持人爱站网 关键词挖掘工具站长工具
  • 最便宜的外贸网站建设百度服务中心投诉
  • 网站用什么空间好长沙排名推广
  • 政府网站建设构想东莞做网页建站公司
  • 哈尔滨松北区建设局网站seo相关岗位
  • 做公司网站报价网站seo工具
  • 中山市建网站公司直接进入网站的代码
  • 有哪些建筑设计网站枫树seo
  • 建门户网站微博推广方式
  • 做企业营销网站专业网站建设
  • 在线制作图片网站百度推广关键词排名在哪看
  • 在深圳帮人做网站百度推广登陆
  • 网站开发文档模板企业seo优化服务
  • 做网站运用的软件sem和seo是什么职业
  • 湖北网站排名优化seo技术教程网
  • java 内容管理系统产品优化是什么意思
  • 做网站服务器多大的好世界杯竞猜
  • 网站编辑转行做文案网络营销师证书查询
  • 网站开发用那个软件新东方烹饪学校学费一年多少钱
  • 昆山智能网站建设英文网站设计公司
  • 阿里云服务器做美女网站威海网站制作
  • 烟台网站制作如何做网站设计
  • 手机如何做网站站长工具站长
  • 网站做博彩反向代理违法百度seo是啥
  • 建域名网站需要多少钱太原做网站哪家好
  • 济南微信小程序报备系统临沂seo公司
  • mvc网站开发 案例视频进入百度搜索首页
  • 馆陶做网站营销策略国内外文献综述