问题描述
第一次发帖,不知道位置是否正确,见谅系统架构:struts2+spring+ibatis目标是想记录用户的一些操作信息,所以自定义了一个annotation选择方法需要记录的参数@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic@interfaceLog{publicStringdescription();publicintparamIndex()default0;//第几个参数,这些都有待扩充完善,比如复杂类型之类的}然后把annotation放置在serviceImpl方法前写了一个afterAdvice来读取annotation信息publicvoidafterReturning(ObjectretObj,Methodmethod,Object[]args,Objecttarget)throwsThrowable{........booleanflag=method.getClass().isAnnotationPresent(Log.class);Logann1=method.getAnnotation(Log.class);Logann2=target.getClass().getAnnotation(Log.class);........}类似上面的语句,只要取annotation相关值都不行,调试跟踪会跳到这个地方:Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Object,Method,Object[],MethodProxy)行:637想请教这到底是怎么一回事,到底如何才能取到annotation的值,谢谢