spring配置文件
<bean id="adviceEvent"
class="com.hwb.nyyclub.services.advice.AdviceEvent">
</bean>
<!--方法一通过@注释-->
<aop:aspectj-autoproxy>
<aop:include name="adviceEvent" />
</aop:aspectj-autoproxy>
<!--方法二-->
<aop:config>
<aop:aspect id="aEvent" ref="adviceEvent">
<aop:pointcut id="userMgrMethod"
expression="execution(* com.hwb.nyyclub.user.mgr.*.*(..))" />
<aop:after pointcut-ref="userMgrMethod"
method="doAdviceEventAfter" />
</aop:aspect>
</aop:config>
adviceEvent类
import org.apache.log4j.Logger;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
@Aspect
public class AdviceEvent{
private static Logger logger = Logger.getLogger(AdviceEvent.class);
//*******定义切点
@Pointcut("execution(* com.hwb.nyyclub.user.mgr.UserMgr.*(..))")
public void doEvent(){}
//*******
@Before("doEvent()")
public static void doAdviceEventBefore(JoinPoint jp){
System.out.println();
logger.debug("事件通知前"+jp.getKind());//method-execution
logger.debug("事件通知前"+jp.getArgs());//[Ljava.lang.Object;@19261de
logger.debug("事件通知前"+jp.getSignature().getDeclaringTypeName());//com.hwb.nyyclub.user.mgr.UserMgr
logger.debug("事件通知前"+jp.getSignature().getModifiers());//1025
logger.debug("事件通知前"+jp.getSignature().getName());//login
logger.debug("事件通知前"+jp.getSignature().getDeclaringType());//interface com.hwb.nyyclub.user.mgr.UserMgr
logger.debug("事件通知前"+jp.getStaticPart());//org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint: execution(login)
logger.debug("事件通知前"+jp.getTarget());//com.hwb.nyyclub.user.mgr.UserMgrImpl@d2ee5d
}
public static void doAdviceEventAfter(JoinPoint jp){
System.out.println();
logger.debug("事件通知后"+jp.getKind());
logger.debug("事件通知后"+jp.getArgs());
logger.debug("事件通知后"+jp.getSignature().getDeclaringTypeName());
logger.debug("事件通知后"+jp.getSignature().getModifiers());
logger.debug("事件通知后"+jp.getSignature().getName());
logger.debug("事件通知后"+jp.getSignature().getDeclaringType());
logger.debug("事件通知后"+jp.getStaticPart());
logger.debug("事件通知后"+jp.getTarget());
}