Spring AOP配置补充
感觉之前写的那Spring配置中的AOP太繁琐了。现在小小的整理一下。
(1)在xml中的配置
<aop:config proxy-target-ref="recordLog"><aop:pointcut expression="execution(* com.lrl.action.Login.userLogin(String)) and args(name)"id="recordPoint" />//带参数了!<aop:around method="recordLogs" pointcut-ref="recordPoint" /></aop:aspect></aop:config>
@Around("execution(* com.lrl.action.Register.userRegister(String)) && args(name)")public void recordLogs1(ProceedingJoinPoint jp, String name)throws Throwable {System.out.println("1234");jp.proceed();System.out.println(name);}@Pointcut("execution(* com.lrl.action.Register.userRegister(String))")public void reg(){};//切点名,任意的@Around("reg() && args(name)")//里面包含了切点名和参数列表public void recordLogs(ProceedingJoinPoint jp, String name)throws Throwable { System.out.println(name);jp.proceed();}@Pointcut("execution(* com.lrl.action.Register.userRegister(String))")public void reg(){};//切点1@Pointcut("execution(* com.lrl.action.Register.userLogin(String))")public void login(){};//切点2@Pointcut(" reg() || login()")//可以这样合并 public void combine(){};//合并切点@Around("reg() || login()")//可以这样用!//@Around("combine()")也可以这样用,效果是一样的!public void recordLogs(ProceedingJoinPoint jp, String name)throws Throwable { System.out.println(name); jp.proceed();}