zoukankan      html  css  js  c++  java
  • spring aop

    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>

  • 相关阅读:
    git subtree用法
    Excel导入、导出库:ExcelKit
    [C#.NET 拾遗补漏]08:强大的LINQ
    使用.net standard实现不同内网端口的互通(类似花生壳)
    LINQ:最终统治了所有的语言!
    浅谈代码段加密原理(防止静态分析)
    HashTable、HashSet和Dictionary的区别(转)
    Mysql分表和分区的区别、分库分表介绍与区别
    划词高亮功能的实现附带开源代码
    十个推荐使用的 Laravel 的辅助函数
  • 原文地址:https://www.cnblogs.com/yanjunwu/p/4000278.html
Copyright © 2011-2022 走看看