1.拦截器:
1.1. implements MethodInterceptor,方法拦截器. 可以在指定的方法执行前后执行自己的代码.
1.2. implements AfterReturningAdvice,方法后缀处理器,可以在指定的方法执行后执行自己的代码.
配置如下:(1.1和1.2都一样)
<bean id="methodCacheInterceptor" class="com.bbbb.platform.interceptor.MethodCacheInterceptor"></bean> <!-- 配置查找cache拦截器切入点--> <bean id="methodCachePointCut" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor"> <property name="advice"> <ref local="methodCacheInterceptor"/> </property> <property name="patterns"> <list> <value>.*_cache.*</value> </list> </property> </bean>
2.纯aop: (纯类,只需要有提供载体的处理链接点即可)
配置如同事务,如下:
<aop:config> <!-- 配置事务切面 --> <aop:pointcut id="serviceOperation" expression="execution(* com.xxxxx.*.service..*.*(..))" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceOperation" /> <!-- 配置日志切入点 --> <aop:aspect id="operateLogManager" ref="operateLogAdvice"> <aop:around method="record" pointcut="(execution(* com.xxxxx.*.service..*Service.save*(..)) or execution(* com.xxxxx.*.service..*Service.insert*(..)) or execution(* com.xxxxx.*.service..*Service.add*(..)) or execution(* com.xxxxx.*.service..*Service.update*(..)) or execution(* com.xxxxx.*.service..*Service.modif*(..)) or execution(* com.xxxxx.*.service..*Service.change*(..)) or execution(* com.xxxxx.*.service..*Service.remove*(..)) or execution(* com.xxxxx.*.service..*Service.del*(..)) or execution(* com.xxxxx.*.service..*Service.edit*(..))) and !bean(operateLogService) "/><!-- .save*(..) 表示以save开头的所有方法,..Service,第一个.表示目录分隔,第二个点表示类 --> </aop:aspect> </aop:config>
转载于:https://www.cnblogs.com/yanjunwu/p/4000278.html
