java - 我们可以将 AOP 方面应用到多 Maven 项目中吗

标签 java spring-aop

在我的项目中,我们使用多 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是没有问题的。您需要注意的唯一几件事是:

  1. 所有项目都存在于类路径中
  2. 如果项目单独执行,那么每个项目都应该配置 Spring AOP,尽管方面可能只声明一次。
  3. 应该正确加载 Spring 才能执行 AOP。

如果您需要更多特定于您的示例的详细信息,请提供项目结构和简要说明,我可以告诉您更多相关信息。

关于java - 我们可以将 AOP 方面应用到多 Maven 项目中吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23363509/

相关文章:

java - 导致空字段的 Jena TDB 插入语句

java - 帕斯卡三角 - 不需要的输出

java - 如何将两个长整数映射到一个整数(Java)

java - 切入点表达式内有多个执行语句,但只有一个正在运行

java - 使用 AspectJ 的 AOP 在 Spring 不起作用?

java - 通过滥用包含在 if 语句中的三元来调用条件方法?

java - JCalendar 值未正确填充

java - 实现基于注解的Spring AspectJ (JavaConfig)

java - @injectMocks 在使用 spring aop 时不起作用

java - 调用周围 AspectJ 的特定返回类型