问题标签 [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 回答
28923 浏览

java - BeanNotOfRequiredTypeException 但实际上是 $Proxy 类型

我需要有关 Spring 和代理问题的帮助。

org.springframework.beans.factory.BeanNotOfRequiredTypeException:名为 'fooAPIService' 的 Bean 必须是 [com.foo.clientapi.service.FooAPIService] 类型,但实际上是 [com.sun.proxy.$Proxy110] 类型

org.springframework.beans.factory.BeanCreationException:创建名为“activityController”的bean时出错:资源依赖注入失败;嵌套异常是 org.springframework.beans.factory.BeanNotOfRequiredTypeException:名为 'fooAPIService' 的 Bean 必须是 [com.foo.clientapi.service.FooAPIService] 类型,但实际上是 [com.sun.proxy.$Proxy110] 类型

Webapp 项目 ->

弹簧上下文

ActivityController.class

另一个项目(微服务)->

FooAPIService.class

Jaxrs 配置:

版本:aspectjweaver:1.6.10 aspectjrt:1.6.11 cglib:2.2 Spring 3.2.2

0 投票
0 回答
78 浏览

java - 在struts2-spring2.5 Web应用程序中获取登录用户名

我有一个基于 struts2 和 spring2.5 的 Web 应用程序。它使用了 struts 的 MVC 特性和安全性、依赖注入、spring 的 AOP。

我使用了一个方面来记录操作,它在调用任何方法之前运行。但是我绝对无法登录登录的用户名。我想要的是,每当调用方法以及方法签名和方法参数时,都应该记录用户名。

任何帮助表示赞赏..

0 投票
1 回答
367 浏览

java - aspectj 项目中的错误,因为更改了编译级别

我安装 eclipse_4.3、JDK_1.8.0,并为 Aspect 使用 ajdt_2.2.3 库。直到我不改变 Compiler Compliance 级别,默认是 1.4,我的项目是 OK 的。但是当我在我的项目中编写这段代码时:

所以我必须将编译器合规性级别更改为 1.5,但是当我这样做时,我在 Aspect 的第一行收到此错误:

“无法解析类型 java.lang.CharSequence。它是从所需的 .class 文件中间接引用的”

0 投票
1 回答
185 浏览

java - 用 AspectJ 注入的方法的切入点

如何为使用 ApsectJ 注入的方法定义切入点?

我已经注入了如下方法,它可以正常工作:

现在我试图定义一个切入点来检测注入方法的执行但它不成功,我尝试了以下方法:

任何帮助,将不胜感激

谢谢!

0 投票
1 回答
615 浏览

c# - 如何将 postsharp 方面应用于给定类的子类中定义的方法?

我可以指定 PostSharp 方面将仅应用于给定类的子类的所有公共方法吗?

我的意思是,我已经ClassA并且希望将其OnMethodBoundaryAspect仅应用于从ClassA.

0 投票
1 回答
63 浏览

c++ - 如何从c ++(aspectc ++)的一个方面释放或删除函数中的分配对象?

我需要一种从c++方面释放删除类函数中分配的内存的方法。

让我们想象一下,我有一个名为 A 的类,如下所示:

我必须定义这样的一个方面:

但在 FreeMemory 方面,我无法访问fooObject。我需要一种方法来解决我的问题。有什么帮助吗?

0 投票
1 回答
172 浏览

json - 如何在不接触源代码的情况下为方法/构造函数参数添加注释?

我正在尝试使用 jackson 2 将框架对象(无源代码访问)反序列化为 JSON。

在使用 Javassist 创建的新方法上发现了这个 Add annotation to a parameter但这个解决方案基于 JavaAssist 并且不完全适用:(

根本问题是缺少 DefaultConstructors,可以使用 @JsonCreator 注释和参数的匹配 @JsonProperty 注释来解决。

我设法使用 mixin 类为众多项目子类之一实现了这一点。

然而,为所有具有几乎相同内容的相关对象编写 mixin 类似乎是错误的方法,所以我开始研究方面。

将注释添加到项目层次结构中的类很容易:

但是,我似乎找不到使用 Aspects 向构造函数参数添加注释的方法!Aspectj in Action 以及 google 尚未提供答案。这是可能吗?

0 投票
1 回答
653 浏览

java - Spring 方面记录器

我一直在创建基于注释的方面定义,因此创建@LogPerformance并将其放在createuser()方法上。在这种情况下,它不会调用方面方法。但是当我将 @LogPerformance 从createuser()创建()方法移动时,会调用方面方法。为什么 @LogPerformance不影响 createuser 方法。

0 投票
1 回答
266 浏览

java - Spring(Java):在非线性类层次结构中不触发方面

当类层次结构不是线性时,在基接口上定义时不会触发方面。

最有趣的是:将委托实现(参见最后一个代码块)添加到实现的父类时,测试变为绿色(按预期触发了方面)。

问题:为什么它不像示例中描述的那样工作,为什么它与委托实现一起工作?

示例(抱歉,找不到更短的示例):

测试:

方面:

接口:

抽象实现(模板模式):

实现bean:

(如果您有兴趣:测试设置:)

丑陋的解决方法:将此代码段添加到 SpecializedTemplate

那么,为什么需要这种解决方法?

0 投票
2 回答
2040 浏览

java - 在编译时编织方面不起作用

我使用 Eclipse 开普勒,Java 1.7。我的 pom.xml 的一部分如下。正如我在 Maven 编译期间看到的那样,根本没有关于编织的日志。我也没有任何错误。方面也不起作用。我究竟做错了什么?正如我在一些例子中看到的那样,这个 pom 应该可以工作。我将 AspectJ 工具安装到 Eclipse。

编辑:这是我的方面代码:

我想用我的方面编织的方法:

另外,这里是maven clean compile输出: