Spring AOP无法与@Configuration和@EnableAspectJAutoProxy一起使用

时间:2018-12-13 14:16:09

标签: spring configuration aop spring-aop

在我的应用程序中,我正在控制器和DAO层上使用AOP-它正常工作。

但是,在我的服务层(在@Configuration类(作为bean)中创建)上,它不起作用。

所以我的问题是,控制器和DAO层的切入点和建议有效,而服务层却不能。

在Internet上阅读-我发现我应该添加@EnableAspectJAutoProxy批注-但它仍然无法使用。

侧面说明:

@Bean("nameOfResolver")
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE, proxyMode = ScopedProxyMode.TARGET_CLASS) 

不起作用的类是这样的

public class ResolveImpl implements Resolve {

private static final Logger LOGGER = LoggerFactory.getLogger(ResolveImpl.class);

@CustomAnnotation(user = "user")
public TestClass createTestClass(String user) {
    ......
    }
}

我的豆子里有这个,它决定了应该返回哪个豆子。

非常感谢您的帮助

1 个答案:

答案 0 :(得分:0)

好吧,我终于找到了解决我问题的方法。 由于Spring AOP使用代理机制,因此我有一个方法调用同一类中的@CustomAnnotation(user =“ user”)方法。这将导致不触发代理机制。 校验 Spring AOP not working for method call inside another method 进行解释