zoukankan      html  css  js  c++  java
  • spring AOP使用示例

     <aop:aspectj-autoproxy proxy-target-class="true"/>
     <!--CRUDAction代理 通知对象-->
     <bean id="actionPointcut" class="cn.net.comsys.ut.commons.web.aop.ActionPointcut" />
     <!-- CRUDAction切面 -->
     <aop:config>
      <aop:aspect id="CRUDActionProxy" ref="actionPointcut">
       <aop:pointcut id="CRUDActionMethods" expression="execution(public java.lang.String cn.net.comsys.ut.commons.web.action.*Action.*(..))"/>
       <aop:before  pointcut-ref="CRUDActionMethods" method="before"/>
      </aop:aspect>
     </aop:config>



    配置要拦截多个方法可以:

    expression="execution(public java.lang.String cn.net.comsys.ut.commons.web.action.*Action.add(..)) and execution(public java.lang.String cn.net.comsys.ut.commons.web.action.*Action.update(..)) "/
    package cn.net.comsys.ut.commons.web.aop;

    import org.aspectj.lang.JoinPoint;

    import cn.net.comsys.ut.commons.web.action.CRUDAction;
    import cn.net.comsys.ut.log.Log;
    /**
     * 拦截所有请求CRUD的Action
     * @Title: ActionPointcut.java
     * @Package cn.net.comsys.ut.commons.web.aop
     * @Description: TODO
     * Copyright: Copyright (c) 2011 
     * Company:成都康赛电子科大信息技术有限责任公司
     * 
     * 
    @author Comsys-Administrator
     * @date 2012-10-17 下午03:43:49
     * 
    @version V1.0
     
    */
    public class ActionPointcut {

        public void before(JoinPoint pjp){
            Object action =pjp.getTarget();
            if(action instanceof CRUDAction){
                try{
                    CRUDAction crudAction=(CRUDAction) action;
                    crudAction.initAction();
                }catch (Exception e) {
                    Log.error(ActionPointcut.class, "设置action参数错误."+e.getMessage());
                }
            }
        }
    }
  • 相关阅读:
    windows 程序设计的一些总结
    Ubuntu 16.04 LTS 安装开发工具
    C++ 虚函数表
    day 14 函数的嵌套,作用域
    命名空间(名称空间)
    day15编码
    day16迭代器
    day5
    day4
    day3
  • 原文地址:https://www.cnblogs.com/jifeng/p/2729362.html
Copyright © 2011-2022 走看看