没有 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
我使用 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