【发布时间】:2015-06-02 13:54:25
【问题描述】:
我的应用程序中有几个方面编码。除以下内容外,其他所有内容均有效。
服务接口
package com.enbiso.proj.estudo.system.service;
...
public interface MessageService {
...
Message reply(Message message);
Message send(Message message);
...
}
服务实施
package com.enbiso.proj.estudo.system.service.impl;
....
@Service("messageService")
public class MessageServiceImpl implements MessageService {
...
@Override
public Message reply(Message message) {
...
return this.send(message);
}
@Override
public Message send(Message message) {
...
}
}
方面
@Aspect
@Component
public class NewMessageAspect {
...
@AfterReturning(value = "execution(* com.enbiso.proj.estudo.system.service.impl.MessageServiceImpl.send(..))",
returning = "message")
public void perform(Message message){
...
}
}
当我尝试执行send 方法时,调试点在perform 方面没有受到影响。
更新
我做了一些调查,发现这不起作用,当从reply方法调用send方法时,如下所示
@Autowire MessageService messageService;
...
messageService.reply(message);
但是如果我调用方法messageService.send(message) 它工作正常。但是由于reply方法在内部调用了send方法,不应该也调用aspect吗?
我不知道我做错了什么。请帮帮我。
【问题讨论】:
标签: java spring spring-boot spring-aop