gpt4 book ai didi

Spring - 方面在运行时没有得到应用

转载 作者:行者123 更新时间:2023-12-04 11:58:48 26 4
gpt4 key购买 nike

我有以下配置:


@Aspect
public class MyAspect {

@Around(@annotation(SomeAnnotation))
public Object myMethod(ProceedingJoinPoint joinPoint) throws Throwable {
System.out.println("Hello...");
}
}

并具有以下 bean 定义:

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
<bean id="myAspect" class="MyAspect" />
</beans>

我看到该行为未在运行时应用于 @SomeAnnotation 注释方法。知道为什么吗?

谢谢。

最佳答案

确保带有@SomeAnnoation 的类是由Spring 容器创建的。 Spring 通过创建代理类来包装对象,从而将 AOP 应用于从容器中检索到的类。然后,此代理类在调用该对象的方法之前和之后执行方面。

如果您不确定,请尝试调试您正在使用该类的位置。您应该看到该对象不是您的类的实例,而是一个代理对象。

关于Spring - 方面在运行时没有得到应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1690269/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com