没有 Spring 的 AOP

AOP without Spring

我使用 Spring 4.0 和 AspectJ 实现了 Logger。但我现在正试图让记录器独立于 Spring。我无法在我的应用程序中初始化方面。任何开始的提示都会有所帮助。

提前致谢。

如果您有一个基于 Spring 的应用程序并且您想要使用 AspectJ,最好使用 Spring 提供的 AspectJ 功能。您也可以在没有 AspectJ 的情况下使用 Spring AOP。

您可以通过使用带有 Spring AOP 的 AspectJ 注释来实现横切功能。

@Aspect 注释允许您从 Logger class 中创建相位。

Logger class 中使用 @Pointcut annotation. By using annotations @Before, @AfterReturning, @AfterThrowing 定义切入点集定义建议以及何时相对于切入点集应用它们(之前,之后, 在抛出异常的情况下).

然后在Spring配置文件中包含aop命名空间,并使用<aop:aspectj-autoproxy>配置元素注册classAnnotationAwareAspectJAutoProxyCreator的对象。

此组件还执行 classes 的代理,这些es具有 @Aspect 注释并且具有包含在特定切入点集中的方法。

如何在没有 Spring 的情况下使用 AspectJ 你可以在这里找到,例如: Using AspectJ logging without Spring