首页  :: 新随笔  :: 管理

spring AOP使用示例

Posted on 2012-10-18 13:43  季枫  阅读(374)  评论(0编辑  收藏  举报

 

 <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());
            }
        }
    }
}

 

 

智读 | 成都会领科技有限公司官网 | 智读App下载 | 每天听本书的博客 | |