除了日志记录和事务管理之外,AOP 还有哪些实际应用?

2023-11-25

我理解这些原理,但我很难看出实际应用在哪些地方。请赐教;)


询问任何支持人员:日志记录是notAOP的一个很好的应用。他们不关心应用程序内部调用什么方法。他们关心应用程序正在执行的重要操作,并需要以他们理解的方式呈现该信息。要创建像样的日志,您必须将日志记录视为应用程序的另一个用户界面并进行相应的设计。

更准确的说法是可以用AOP来实现tracing.

而且我也不相信它对于事务管理有用。我发现简单的面向对象委托将事务管理和业务逻辑完全分开。

不过,好问题!我发现 AOP 的争论分为两个阵营:

  1. Bodging 会更改设计不良的代码,而无需清理不良的设计。
  2. 解决糟糕的开发工具,例如将跟踪编织到应用程序中,因为环境没有对跟踪或调试的良好支持。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

除了日志记录和事务管理之外,AOP 还有哪些实际应用? 的相关文章

  • 无法捕获的 ChuckNorrisException

    是否可以构造一段代码Java http en wikipedia org wiki Java 28programming language 29这将产生一个假设java lang ChuckNorrisException无法捕捉 想到的想法
  • 运行时 AOP 与编译时 AOP

    这两种AOP框架的优缺点是什么 我使用Unity作为我的aop框架 但我猜像postsharp这样的编译时aop框架可能比运行时aop框架有更好的性能 看起来运行时aop框架使用反射来实现注入 我不是 NET 人员 但我了解 Java 生态
  • Spring AOP 创建额外的 bean

    我正在玩Spring AOP 这是一个简单的类 public class CModel extends Car private double torqueMeasure 1 public CModel System out println
  • 如何在 Spring 中注入具有受保护方法的 JDK 代理类?

    我的情况相当奇怪 我使用 Spring 3 0 6 和一个实现和接口的 bean 到目前为止 都是很正常的事情 我的 bean 也有一些受保护的方法 我正在使用一些 AOP JDK 代理 一切正常 当我想将此 bean 注入另一个包类时 我
  • Spring AOP:仅建议使用上下文 Bean?

    我是 Spring AOP 的新手 我尝试使用方面进行日志记录 这是我的配置 方面 Aspect public class LoggerAspect Pointcut execution aop LoggerAspTest private
  • 避免 Spring AOP 中的就地切入点表达式

    我正在使用 Spring AOP 我给出的切入点如下 Pointcut execution com demo Serviceable public void serviceMethodCalls 是否可以避免 Spring AOP 中的就地
  • Javascript AOP 库 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 您使用哪个 Javascript AOP 库 它的主要功能是什么 这是我到目前为止发现的 dotvoid
  • @AspectJ 类级别注释建议,以注释作为方法参数

    如何获取注释作为定义的建议的参数传递 类级注释 是否可以 来自帖子here https stackoverflow com questions 2011089 aspectj pointcut for all methods of a cl
  • 使用 Spring 和 AspectJ 拦截私有方法

    我正在尝试使用 AspectJ 的加载时编织与 Spring Boot 和基于注释的配置在私有方法之前执行代码 并且我正在抓紧时间试图找出为什么我的方面没有被调用 我的简单方面如下 Aspect public class LoggingAs
  • Actionscript 3 的面向方面编程库/框架?

    我正在寻找 Actionscript 3 的全功能 AOP 库 到目前为止我注意到以下项目 但它们似乎都有问题 http farmcode org page Sodality aspx http farmcode org page Soda
  • 面向方面编程(AOP)有哪些缺点?

    面向方面编程有哪些可能的和关键的缺点 例如 新手的神秘调试 可读性影响 我认为最大的问题是没人知道如何定义切面的语义 or 如何非程序地声明连接点 如果您无法独立于要嵌入的上下文来定义某个方面的功能 或者无法以不损害其嵌入的上下文的方式定义
  • @Transactional 和 AOP 之间的混淆

    Transactional 是否在 Spring 3 中替代了 AOP 它们相同吗 我可以说 Transactional在内部实现了AOP吗 The Transactionnal注释只是声明方法 或类的所有方法 是事务性的简单方法 Spri
  • HK2 MethodInterceptor 与 Jersey 资源

    如何设置aopMethodInterceptor使用泽西岛资源 这是我尝试过的 如下this https hk2 java net 2 2 0 aop example html文档 第 1 步 拦截服务 public class MyInt
  • 不支持动态值作为注释中的属性 - AspectJ Android [AOP Android]

    我正在使用自定义注释来记录用户单击的 id 但我收到一个错误 属性值必须是常量 我的代码片段如下 mAssetId Asset getContentId TrackEvent track event ArrayParams Params k
  • 在单独的模块中使用 Spring AOP 方面

    我在一个 Maven 项目模块中有一个方面 com x NiceAspect 在一个单独的 Maven 模块中有一个类 com x NiceClass 这些模块具有相同的 POM 父级 共同创建一个项目 我想要实现的目标是拥有一个通用的方面
  • 如何更改运行时中的方法注释值?

    我有像这样的控制器 MessageMapping room register SendTo sendTo public Message addUser Payload Message message SimpMessageHeaderAcc
  • 有关 iOS 应用程序包装的信息?

    有一个称为应用程序包装的过程 IPA被反汇编 被拆开 有时可执行部分确实被反汇编 添加了一些新的二进制代码 资源 段 IPA再次组装 这个过程经常被用作编译时 AOP 向应用程序添加一些方面 如安全性 审计等 您见过用于此目的的任何指南 工
  • Spring与AspectJ编译时编织导致:java.lang.VerifyError:非法使用非虚拟函数调用

    我正在尝试使用 Spring 的 AspectJ 编译时编织而不是
  • 具有特定参数的 Spring AOP 切入点

    我需要创建一个我觉得很难描述的方面 所以让我指出一下想法 com x y 包 或任何子包 中的任何方法 一个方法参数是接口 javax portlet PortletRequest 的实现 该方法中可能有更多参数 它们可以是任何顺序 我需要
  • C# (.Net) 的面向方面编程 (AOP) 解决方案及其功能 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想在这里询问3个信息 有无集成解决

随机推荐

  • 播放 HTTP Live Streaming 视频时访问 AVPlayer 的数据

    我正在使用 AVPlayer 播放 HTTP 实时流媒体视频 有什么办法可以访问播放器的缓存数据并将其保存在本地吗 太长了 这并非不可能 但结果很可能不会那么好 请记住 HTTP 视频流实际上由多个带宽流组成 其中每一个都被分为更小的 MP
  • ffmpeg 格式设置,矩阵 bt709

    有谁知道我如何实现以下色彩空间 bt 709 通过 FFmpeg 这是我的文件中现在的内容 正如你所看到的Format settings Matrix默认情况下 我该如何设置它 格式设置 矩阵 自定义或标准 组件原色 BT 709 传输特性
  • border-radius 应该裁剪内容吗?

    当容器有时 我的容器中的内容不应该被切断吗 border radius HTML 和 CSS 示例 progressbar height 5px width 100px border radius 5px buffer width 25px
  • 从网站打开新的 Outlook,mailTo 链接太长,*.eml 文件密件抄送字段未加载

    我正在尝试打开一个 eml使用 Microsoft Outlook 2010 文件并遇到问题bcc field 这是我的eml file To email protected Subject Mail Subject cc email pr
  • 如何向soapVars添加属性

    我想创建具有如下属性的soapVars
  • Firebase/Android - 定期丢失数据库连接

    我遵循了 Firebase 身份验证和数据库的文档 全新安装后一切正常 用户可以注册或登录 数据按应有的方式检索 按应有的方式写入 超快 超干净 耶 然后 通过 android Studio 重新启动几次后 数据库的东西就不再工作了 重新启
  • 即使线程中的方法已返回,为什么 Thread.Join() 仍会挂起?

    我有一个 WPF 应用程序 它使用一些库代码进行身份验证 需要在单线程单元线程中运行 我的方法是生成一个单独的线程来获取身份验证对象 阻塞直到线程返回 然后继续执行 然而 在some即使线程方法已返回 我的应用程序也会挂在 Thread J
  • 在docker中更改JAVA_HOME

    我想要 dockerise 的遗留 Web 应用程序使用一些旧的类 例如com sun image codec jpeg ImageFormatExceptionJava SE7 之前都支持 现在在 docker 容器中默认的 jdk 获取
  • 如何在 R 中重用管道运算符长链的部分?

    我有一组管道操作员链 gt 用不同的数据集做不同的事情 例如 dataset gt mutate gt filter gt rowwise gt summarise gt etc 如果我想重用这些链的某些部分 有没有办法做到这一点 而不仅仅
  • 线程忽略键盘中断异常

    我正在运行这个简单的代码 import threading time class reqthread threading Thread def run self for i in range 0 10 time sleep 1 print
  • 使用 IronPython 访问 Pandas 库

    我的目标是将 Python 连接到 NET 以实现流程 我正在使用 IronPython Python 部分涉及一些计算 我使用 Pandas 库 有没有办法连接 IronPython 和 Pandas 我发现使用 IronPython 我
  • 在 Swift 中对 PDF 进行注释/绘图

    我正在编写一个应用程序 其中包含多个 PDF 文档 我将根据用户的输入在屏幕上显示这些文档 显示后 我希望允许用户在 PDF 上绘图 注释 然后我想保存带有绘图 注释的 PDF 以供以后使用 我一直在无休止地搜索有关 PDF 注释的教程 但
  • 文本提取 - 逐行

    我正在使用 Google Vision API 主要是为了提取文本 我工作得很好 但对于我需要 API 扫描输入行的特定情况 在移动到下一行之前吐出文本 然而 该 API 似乎正在使用某种逻辑 使其从左侧从上到下扫描 然后移动到右侧并进行从
  • NGINX:如何在一台服务器或域名中设置多个端口?

    我是 Nginx 新手 我的设置遇到问题 我希望我的服务器在公共上使用多个端口运行 例如 server listen 443 ssl server name
  • D 中异常处理的开销

    在 D2 编程语言中 使用异常处理对性能有何影响 尤其 如果我不写异常处理代码怎么办 如果我这样做了 但没有抛出任何异常怎么办 如果我这样做并且抛出异常怎么办 异常处理是否会导致错过任何优化机会 是否可以像许多 大多数 C 实现中那样禁用异
  • 无法在“ApplicationUser”上配置密钥,因为它是派生类型,但 ApplicationUser 上没有密钥配置

    我正在尝试使用 ApplicationUser 自定义 IdentityUser 我按照微软文章中的步骤操作 但是当我运行应用程序时 我在方法上收到此错误base OnModelCreating modelBuilder System In
  • ES6 对象中的方法:使用箭头函数

    在 ES6 中 这两个都是合法的 var chopper owner Zed getOwner function return this owner 并且 作为简写 var chopper owner Zed getOwner return
  • 如何使用 mongo Java 驱动程序 3.0+ 检查文档是否存在于集合中

    使用新的3 0 java驱动程序来自 mongo 检查文档是否存在于集合中的最佳方法是什么 我看过here并尝试做类似的事情 我只做到了这一点 FindIterable
  • 如何仅删除字符串中的 html 标签?

    我已经编写了删除 HTML 标签的代码 但它也删除了a
  • 除了日志记录和事务管理之外,AOP 还有哪些实际应用?

    我理解这些原理 但我很难看出实际应用在哪些地方 请赐教 询问任何支持人员 日志记录是notAOP的一个很好的应用 他们不关心应用程序内部调用什么方法 他们关心应用程序正在执行的重要操作 并需要以他们理解的方式呈现该信息 要创建像样的日志 您