我在一个 Maven 项目模块中有一个方面 com.x.NiceAspect,在一个单独的 Maven 模块中有一个类 com.x.NiceClass。这些模块具有相同的 POM 父级,一起创建一个项目。
我想要实现的是拥有一个通用的方面,我可以将其包含在该项目的所有 Maven 模块中。
现在 NiceAspect 中的切入点是 execution(* com.x...set(..)) 表示我的包中的所有 setter 方法。 p>
我想让这方面和第二个模块一起跑,特别是加入NiceClass
我怎样才能做到这一点?
此外,假设方面需要第二个模块中定义的类的参数,那么我最终会遇到循环依赖......
感谢任何帮助
亲切的问候,
x.
最佳答案
在 Spring Boot 中:
假设在模块“A”中我们实现了方面类。然后我们需要让它们对 Spring (Boot) 可见:
@Configuration
@ComponentScan(basePackages = "root.package.containing.the.defined.aspecs")
public class AspectsModuleConfiguration {
//...
}
在对 A 有 (Maven) 依赖的模块 B 中,我们导入上面的配置类。
@SpringBootApplication
@Import(AspectsModuleConfiguration.class)
public class ModuleBApplicationClass {
//...
}
关于java - 单独模块中使用的 Spring AOP 切面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7797824/