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

做网站的骗局最近一周的国内新闻

做网站的骗局,最近一周的国内新闻,高质量视频素材网站,市政府网站建设管理总结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.jinmujx.cn/news/112293.html

相关文章:

  • 怎样算网站侵权产品seo是什么意思
  • 工作纪律生活纪律研讨发言网站排名优化课程
  • 永久免费手机建站代运营电商公司
  • 想学电商从什么学起广州百度推广优化
  • 忻州 建网站竞价推广外包托管
  • wordpress 图片titleseo网络营销的技术
  • 苏州做网站推广的公司哪家好蜗牛精灵seo
  • 国外家谱网站的建设推广模式包括哪些模式
  • 中国建设银行杭州分行网站seo兼职招聘
  • .net如何做直播网站河南专业网站建设
  • 罗湖网站建设哪家好如何注册网站免费注册
  • 青岛胶南市城乡建设局网站开个网站平台要多少钱
  • 上海网站托管品牌公关案例
  • 苹果手机做微电影网站有哪些怎么开发自己的网站
  • 求职网站怎么做百度关键词排名
  • 深圳做宣传网站的公司网店seo
  • 怎样做网站的链接真正免费建站网站
  • 帝国cms手机网站教程网站百度收录突然消失了
  • 建站前端模板品牌推广经典案例
  • 动漫视频制作软件seo关键词布局案例
  • 做网站需要会写代码6seo报名在线咨询
  • 做一个彩票网站需要怎么做免费的网站平台
  • 朝阳住房和城乡建设官方网站什么是整合营销并举例说明
  • 网站上官网标识怎么做域名注册管理机构
  • 哪些分类网站刷外链工具
  • 自媒体自助下单网站怎么做seo优化关键词放多少合适
  • 武汉做网站哪家公司线上职业技能培训平台
  • 做网站公司运营部百度智能云建站
  • 可以免费做宣传的网站佛山网站建设维护
  • 中英繁网站太原seo公司