Java 如果方面在Spring引导中位于不同的模块中,则不会执行它

Java 如果方面在Spring引导中位于不同的模块中,则不会执行它,java,spring-aop,Java,Spring Aop,我有多个模块,如模块A、模块B和公共模块。我已经在公共模块中添加了方面。根据表达式,当任何方法包含特定注释时,它将在之前调用aspect。但它不起作用。如果复制相同的方面类并将其添加到模块(模块A)本身中,则它仅适用于该模块(模块A)。为什么它不适用于通用模块?我们是否需要做一些特殊的事情来在模块之间共享 我使用了前面问题中提到的类似注释: 在模块A中,您应该从公共模块指定bean,如smth <context:component-scan base-package="org.common

我有多个模块,如模块A、模块B和公共模块。我已经在公共模块中添加了方面。根据表达式,当任何方法包含特定注释时,它将在之前调用aspect。但它不起作用。如果复制相同的方面类并将其添加到模块(模块A)本身中,则它仅适用于该模块(模块A)。为什么它不适用于通用模块?我们是否需要做一些特殊的事情来在模块之间共享

我使用了前面问题中提到的类似注释:


在模块A中,您应该从公共模块指定bean,如smth

<context:component-scan base-package="org.common" />

尝试在建议中提供“审核”的完整路径,如下所示-

 @AfterReturning(value = "@annotation(FULL_PATH.Auditing)")
        public void save(Auditing audit) {
 }
我遵循这一点,最终它对我起了作用

我所做的是在pom.xml中对方面模块和应用程序模块的build标记进行了一些更改


TestProject源代码可以找到

谢谢。但是它已经有依赖事件了,它不工作。@NFE aven dep还不够,您需要扫描它,这是scanningyeah,因为普通逻辑也有jpa conf和其他逻辑,它工作正常。但唯一不起作用的方面可能是失败,因为我对实体使用了泛型注释。这是真的吗。is generic适用于aspectadd您试图共同审核的代码和一个模块,因此我们可以告诉您问题出在哪里,先生,我也想知道在不同模块中执行aspect的方法。你能告诉我你的答案吗。。
 @AfterReturning(value = "@annotation(FULL_PATH.Auditing)")
        public void save(Auditing audit) {
 }