在我的应用程序中,我正在控制器和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) {
......
}
}
我的豆子里有这个,它决定了应该返回哪个豆子。
非常感谢您的帮助
答案 0 :(得分:0)
好吧,我终于找到了解决我问题的方法。 由于Spring AOP使用代理机制,因此我有一个方法调用同一类中的@CustomAnnotation(user =“ user”)方法。这将导致不触发代理机制。 校验 Spring AOP not working for method call inside another method 进行解释