<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 66,  comments - 11,  trackbacks - 0
    現(xiàn)在你可以為你的應(yīng)用系統(tǒng)創(chuàng)建可重復(fù)使用的切入點了。Spring支持在這些切入點上進行操作-合并與交叉-來創(chuàng)建新的切入點
    。只有當所有切入點都匹配時交叉集合才匹配,任何一個切入點匹配都會使合并集合匹配。為了對2個Pointcut對象進行合并,必須使用Pointcuts類。例如:
    Pointcut union = Pointcuts.union(pointcut1,pointcut2);
    這種方式的一個缺點是它需要通過編碼來實現(xiàn)。
    package com.wyq.spring.base.aopinstance;

    import java.util.List;

    import org.springframework.aop.ClassFilter;
    import org.springframework.aop.MethodMatcher;
    import org.springframework.aop.Pointcut;
    import org.springframework.aop.support.Pointcuts;

    /** 
     * 
    @author 作者 
     * 
    @version 創(chuàng)建時間:2009-11-6 下午02:18:03 
     * 類說明 
     
    */
    public class UnionPointcut implements Pointcut {
        
    //聲明合并的Pointcut實例
        private Pointcut delegate;
        
        
    public Pointcut getDelegate() {
            
    return delegate;
        }

        
    public void setDelegate(Pointcut delegate) {
            
    this.delegate = delegate;
        }
        
    //委托給Pointcut的方法
        public ClassFilter getClassFilter() {
            
    return getDelegate().getClassFilter();
        }

        
    public MethodMatcher getMethodMatcher() {
            
    return getDelegate().getMethodMatcher();
        }
        
    //創(chuàng)建組合切入點
        public void setPointcuts(List pointcuts){
            
    if(pointcuts == null || pointcuts.size()==0){
                System.out.println(
    "沒有要組合的切入點");
            }
            delegate 
    = (Pointcut)pointcuts.get(0);
            
    for(int i=1;i<pointcuts.size();i++){
                Pointcut pointcut 
    = (Pointcut)pointcuts.get(i);
                delegate 
    = Pointcuts.union(delegate,pointcut);
            }
        }

    }
    映射文件如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans
        
    xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi
    ="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation
    ="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
        
    <bean id="frequentCustomerAdvice" class="com.wyq.spring.common.aopinstance.namemachmethodpointcut.PrequentCustomerAdvice"></bean>
        
        
    <bean id="queryInterceptor" class="com.wyq.spring.common.aopinstance.namemachmethodpointcut.QueryInterceptor"></bean>
        
        
    <bean id="unionpointcut" class="com.wyq.spring.common.aopinstance.composablepointcut.UnionPointcut">
            
    <property name="delegate">
                
    <ref bean="frequentCustomerPointcutAdvisor"/>
            
    </property>
            
    <property name="pointcuts">
                
    <list>
                    
    <ref bean="queryPointCutAdvisor"/>
                
    </list>
            
    </property>
        
    </bean>
        
    <bean id="frequentCustomerPointcutAdvisor" class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor">
            
    <property name="mappedName">
                
    <value>order*</value>
            
    </property>
            
    <property name="advice">
                
    <ref bean="frequentCustomerAdvice"/>
            
    </property>
        
    </bean>
        
        
    <bean id="queryPointCutAdvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
            
    <property name="pattern">
                
    <value>.*get.+By.+</value>
            
    </property>
            
    <property name="advice">
                
    <ref bean="queryInterceptor"/>
            
    </property>
        
    </bean>
    </beans>

    posted on 2009-11-06 14:48 王永慶 閱讀(164) 評論(0)  編輯  收藏 所屬分類: SPRING
    <2009年11月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    關(guān)注blogs

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久99精品国产免费观看| 182tv免费视频在线观看| 成人免费视频观看无遮挡| 亚洲熟妇av一区二区三区下载| 一级毛片免费播放| 亚洲欧洲春色校园另类小说| 亚洲免费在线观看视频| 亚洲专区中文字幕| 成人a免费α片在线视频网站| 学生妹亚洲一区二区| 国产精品无码一区二区三区免费| 亚洲av纯肉无码精品动漫| 国产一级淫片视频免费看| 一级毛片正片免费视频手机看| 亚洲高清无码专区视频| 国产成人自产拍免费视频| 久久精品国产亚洲网站| 久久成人a毛片免费观看网站| 亚洲白嫩在线观看| 永久免费av无码网站韩国毛片| 亚洲成AV人片在WWW| 亚洲国产精品激情在线观看| 国产日韩AV免费无码一区二区| 久久久亚洲欧洲日产国码二区| 成人免费一区二区无码视频| 成人午夜免费视频| 亚洲天天在线日亚洲洲精| 在线观看视频免费完整版| 男女猛烈无遮掩视频免费软件| 亚洲日韩精品一区二区三区| 国产精品视频免费| 福利片免费一区二区三区| 亚洲AV午夜成人片| 午夜无遮挡羞羞漫画免费| 中文字幕在线免费观看视频| 亚洲国产成人无码av在线播放| 免费v片在线观看品善网| 三年片在线观看免费大全电影| 涩涩色中文综合亚洲| 伊人久久亚洲综合| 性xxxx视频播放免费|