问题标签 [aspect]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
799 浏览

java - 寻找允许修改源的面向方面的 java (Android) 框架

我试图找到修改 .java 源文件而不是 .class 本身的面向方面的框架,但到目前为止没有运气?我知道这可能是一个愚蠢的想法......但我想要了解将确切代码粘贴到.class。

基本上我试图为大型 android 项目应用日志记录和其他方面。我在玩 AspectJ,但问题之一是我们已经达到方法声明限制,我不能只添加 AspectJ 以打包到 .apk 中。但是没有 AspectJ 库,我没有得到类 def 异常(原因:java.lang.NoClassDefFoundError:org.aspectj.runtime.reflect.Factory)

0 投票
3 回答
184 浏览

postsharp - 你如何使 Postsharp 可测试

依赖注入在 Postsharp 中不起作用。如何使方面可测试?我真的想避免创建具体的类来登录我的方面。

当我使用单元测试方法时,我不希望方面运行。如果我正在测试一种方法,我不希望在测试期间触发日志记录方面并尝试创建具体的记录器。

我喜欢 Postsharp 的想法并且很想使用它,但是这两个问题似乎给我带来了太多的麻烦。

有任何想法吗?

0 投票
1 回答
419 浏览

java - AspectJ 如何捕获 NoResultException 并返回 null

我想使用 AspectJ 来捕获 aNoResultException并返回 null 。
(显然我是一个方面菜鸟)

这是执行查询的方法:

我有数百个这样的电话,我不想把每个电话都用 a 乱扔以将try/catch其更改NoResultException为空结果。

所以我想写一个方面来捕获异常并将结果更改为null.

这是方面代码(请注意我正在使用注释)。像这样的东西:

如何将返回值更改为 null

0 投票
0 回答
151 浏览

c++ - (C++) AspectC++ 截取派生类的方法

这可能是一个愚蠢的问题,但在搜索了几个小时后我找不到答案。

使用 AspectC++,我们可以定义切入点,它表示一旦匹配就会被拦截的东西。例如,我可以做

这样任何advice使用切入点的pc人都会拦截对类的某些方法的任何调用Base。即使稍后创建了一个子类,这仍然有效SubBasepc将拦截对方法的调用Sub。现在,我想要的是拦截的方法Sub,即.Sub中不存在的方法Base。我们如何才能pc()拦截最终创建的任何子类的任何方法Base,而不是Base其本身的方法?

0 投票
1 回答
740 浏览

java - 使用 @EnableAspectJAutoProxy 找到的方面“手动”编织 bean

我正在使用完全无 XML 的 Spring 设置,并且我成功地@EnableAspectJAutoProxy与我的@Configuration类一起使用并找到了我的方面类与 和 的@Aspect组合@Component

但是我已经到了需要按需编织/增强未使用 spring 上下文创建的实例的地步,但我能找到的只是如何使用ProxyFactory. 但是我需要手动添加建议ProxyFactory.addAdvice(..),我已经用 (例如) 写过一次@Before

我不想再重写那些了。

@EnableAspectJAutoProxy有没有办法通过使用注释来获得对(我猜?)内部创建的工厂的引用?这样我就可以做类似的事情:

或者实例化一个可以找出我的应用程序中已经存在哪些建议的工厂:

我试图环顾四周,但似乎找不到答案。可能我只是看的不够好。提前谢谢,如果你能帮助我!

0 投票
1 回答
831 浏览

java - 出于性能原因,替代 Spring 的 @Configurable?

我在一段必须高性能的代码中将@Configurable bean 用于非托管spring 实例。我们在 new 运算符中使用了很多非托管 bean,在我们的分析中,我们注意到 @Configurable 注释的使用大大减慢了速度。

对于这个特定的部分,我们想要一种更快的从上下文中提取 bean 的方法(只是一个直接的 applicationContext.getBean())。我知道我们放弃了 IoC 这样做,但这是一种特殊情况,而不是正常模式。

我们使用 CTW 进行编织,但我想知道 spring 在幕后使用什么机制来获取应用程序上下文,以便我们可以简单地抓取它并使用 getBean?静态应用程序上下文?它是否存储在 threadlocal 某处?

0 投票
1 回答
1113 浏览

java - aspectj:如何将库中的方面编织到用户代码中?

我有一个包含一些类和一些方面的库。SayAspectedLib.jar是包含此类定义的文件(在 eclipse 中创建,带有“export jar file with aspectj support”)。如果我导入AspectedLib.jar文件,甚至使用其中定义的一些类,它可以工作,但没有触发任何连接点,即不执行方面。

我怎样才能使这项工作?理想情况下,如何在 eclipse* 中进行设置?

* 版本:Juno Service Release 2;版本号:20130225-0426

0 投票
2 回答
1010 浏览

dojo - dojo方面未定义,不明白为什么

我想从 dojo 1.7 更新到 1.8.3,所以我必须替换 dojo.connect 命令。

转变:

我现在有:

Firebug 说:“方面未定义”

PS:我知道我不使用新的 AMD 加载程序。这是一个旧项目,我对所有 dojo 的东西也很陌生。一个简单的从dojo.require("x");dojo.require("y");to翻译require(["x","y"], function (x,y){...}对我不起作用,所以仍然需要旧样式。

0 投票
1 回答
839 浏览

scala - 将日志记录添加到 Scala 代码的工具

在 Java 中,我们可以使用AspectJ透明地向 Java 类添加日志记录(或者可能使用其他字节码检测工具)。现在我想知道如何将日志透明地添加到Scala函数中。

我想要一个转换功能的工具foo

像这样的东西:

您将如何将日志记录透明地添加到 Scala 函数中?

0 投票
1 回答
128 浏览

function - C中的面向方面编程->函数库?

我正在学习 C 中的 AOP,使用 aspeCt 作为编译器。我遇到的问题是,当我编译时,我不断line 2 error--1: syntax error near token ''从我的 .acc 文件中得到错误。

我假设这是因为我的 .acc 文件中的 before 函数。是否有我应该导入的库?还是我在这里完全错了?代码: