当前位置: 首页 > 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.hengruixuexiao.com/news/12902.html

相关文章:

  • 网站建设的技术可行性google下载手机版
  • 支付宝手机网站签约青岛网络优化厂家
  • 万联芯城网站建设如何做网站
  • 网页图片不能保存怎么办长沙做优化的公司
  • 建设网站企业天津百度分公司
  • 自己网站怎么做外链微信社群营销怎么做
  • 三生团队网站找谁做的广州seo推广营销
  • 百度网站怎么做友情链接西安网站建设优化
  • 怎么快速刷排名电脑优化大师下载安装
  • 佛山个性化网站开发seo网络推广公司排名
  • 网易企业邮箱修改密码百度关键词搜索优化
  • 网站简繁体转换js营销方案100例
  • 塔城地区建设工程信息网站茂名网站建设制作
  • 青浦做网站公司账户竞价托管哪里好
  • 网站设计要先做图么seo自学网官网
  • 上海网站建设上海网站制作个人网站制作软件
  • 网站维护更新做营销怎样才能吸引客户
  • 云南省建设厅网站首页营销策划案ppt优秀案例
  • 响应式网站的宽度网站查询ip地址
  • 一男一女做那个的动漫视频网站黑五类广告推广
  • 建设旅游网站的意义深圳网站关键词排名优化
  • 做煤的网站app郑州网站策划
  • 南宁高端网站武汉网站制作推广
  • 开发一个小程序北京网站seo公司
  • 网站做零售seo课程培训机构
  • 公司做网站效果怎么样武汉seo网站优化排名
  • 科技网站banner江苏建站
  • 手机门户网站模板福州百度代理
  • 国建设文化艺术协会网站全网霸屏推广系统
  • 做试用网站的原理厦门seo管理