У меня есть следующий интерфейс и класс
public interface ServiceA {
@Profiled
String getString();
}
public class ServiceAImpl implements ServiceA{
String getString(){
System.out.println("getString");
}
}
<beans ....>
<aop:aspectj-autoproxy />
<bean id="timingAspect" class="org.perf4j.log4j.aop.TimingAspect"/>"
<bean id="serviceA" class="com.naresh.profiler.service.ServiceAImpl" />
</beans>
Когда я делаю serviceA.getString()
, вызов не был перехвачен TimingAspect. Он перехватывается, если я перемещаю аннотацию из интерфейса в класс реализации. Причина, по которой я вижу, заключается в том, что аннотации уровня метода не наследуются. Как это решить? Написав CustomBeanAnnotationProcessor
?