当前位置: 首页 > 面试题库 >

AspectJ有什么用?

壤驷鸿
2023-03-14
问题内容

首先让我注意,我使用AspectJ并且很喜欢它,但是我还能用它做什么呢。

我知道AspectJ可以用于日志记录。在某些情况下,它用于事务控制-大多与注释结合使用。像Spring
Roo一样,AspectJ也可以用于通过(代码生成的)方法增强类。

但是我相信AspectJ和AOP通常可以用于以下方面:日志记录,事务控制和模拟子类。

那么,AspectJ和AOP还有哪些有用的用例呢?


问题答案:
  • 权限检查
  • 中断耗时太长的动作
  • 在单独的线程中甚至在其他计算机上的不同进程或事件的上下文中运行操作
  • 监控
  • 通话前准备任何数据/环境,通话后处理结果
  • 打开/关闭资源

编辑

尽管自我给出答案以来已经过去了很多年,但我还是决定添加以下内容以使答案更加完整。

  • 安全检查。
  • 修复了您无法更改的API错误或行为。例如,false在某些情况下返回但应该返回的boolean方法true。您可以使用AspectJ修复此问题。


 类似资料:
  • 我对AspectJ中的cflow或cflow有一个问题。 Cflow(切点) 在由切入点选择的连接点的控制流中选择所有连接点,包括切入点的连接点本身。 cflowbelow(切入点) 在切入点选择的连接点下方选择控制流中的所有连接点。 对于两者,我只能找到定义,并且: 当使用cflow或cflowbelow定义切入点时,我们需要确保切入点不会捕获来自同一方面的调用,否则它将调用递归方法调用,我们将

  • 我正在尝试设置Spring AoP框架,但我不想依赖AspectJ,因此我将在一个bean xml配置文件中声明我的方面、建议等,类似于以下内容: 每当我指定如上所述的切入点时,我都会收到以下错误: 当我把aspectjweaver.jar.包括在内时,我可以做到这一点,但这不应该是这样。有什么想法吗? 提前谢谢

  • 我正在尝试使用LTW在Weblogic上运行AspectJ。我的切入点是针对公共建构者和方法,建议是针对之前、之后和之后。当我访问一个简单的“Hello World”jsp时,出现以下错误: 这是我的aop。xml文件: 这是我的方面文件: 这个方面被编译(使用普通的javac编译器)到foo中。罐子 我通过添加以下内容来运行Weblogic: 我认为这很可能是类路径/类加载器问题,因为Aspec

  • 本文向大家介绍` `有什么用?相关面试题,主要包含被问及` `有什么用?时的应答技巧和注意事项,需要的朋友参考一下 被当做一个不可见的包裹元素,主要用于分组的条件判断和列表渲染。 https://blog.csdn.net/u013594477/article/details/80774483

  • 问题内容: 我是Java的新手,刚刚遇到了在方法中使用“ Throws”关键字的教程。我对此进行了一些研究,但仍然不太了解。 从我到目前为止所看到的,它告诉编译器在该特定方法中可能抛出某些异常。为什么我们需要告诉编译器呢?我已经在我的方法中仅使用try- catch语句制作了许多程序,并且效果很好-当然,这些try-catch语句可以管理异常,对吗? 问题答案: 您可以使用和如您所说 在 方法 内

  • 本文向大家介绍contextType是什么?它有什么用?相关面试题,主要包含被问及contextType是什么?它有什么用?时的应答技巧和注意事项,需要的朋友参考一下 定义当前组件要使用哪一个context