在我的项目中,我们使用多 Maven 项目,这意味着同一个项目中有多个项目。我尝试在另一个项目的项目类之一中使用 AOP 来应用日志记录。在这种情况下有没有办法应用AOP?
我的项目结构是这样的:
--Parent-pom project
--child1-pom project
--child2-pom project
我的 child1-pom 项目包含 AOP 类,我已将日志记录方面指定为:
@Pointcut("execution(* com.test.web.SampleEntityController.test(..))")
我的 SampleEntityController 类存在于 child2-pom 项目中。现在,STS 在我的切入点上显示警告:
no match for this type name: com.test.web.SampleEntityController
[Xlint:invalidAbsoluteTypeName]
我的项目的构建顺序是 child1 项目 (jar),然后是 child2 项目 (war 打包)。 child2.war 包含 web-inf/lib 目录中 child1.jar 的 jar 文件。
感谢, 桑迪普·卡普尔
最佳答案
原则上,跨多个项目应用AOP是没有问题的。您需要注意的唯一几件事是:
- 所有项目都存在于类路径中
- 如果项目单独执行,那么每个项目都应该配置 Spring AOP,尽管方面可能只声明一次。
- 应该正确加载 Spring 才能执行 AOP。
如果您需要更多特定于您的示例的详细信息,请提供项目结构和简要说明,我可以告诉您更多相关信息。
关于java - 我们可以将 AOP 方面应用到多 Maven 项目中吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23363509/