<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

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲gv猛男gv无码男同短文| 在线观看av永久免费| 一级女性全黄久久生活片免费| 色天使色婷婷在线影院亚洲| 免费人成视频在线观看免费| 免费人成激情视频在线观看冫| 一级毛片免费播放| 免费黄色一级毛片| 四虎免费永久在线播放| 亚洲av无码片在线播放| 永久免费av无码网站yy| 国产亚洲精AA在线观看SEE| 中文字幕亚洲精品无码| 中文在线免费看视频| 亚洲成人在线免费观看| heyzo亚洲精品日韩| 久久精品国产亚洲AV麻豆网站| 亚洲自偷自偷在线成人网站传媒| 国产成人无码精品久久久免费 | 亚洲大香人伊一本线| 极品美女一级毛片免费| 国产91精品一区二区麻豆亚洲| 亚洲成人福利在线| 日韩在线看片免费人成视频播放| 亚洲一级二级三级不卡| 精品久久久久成人码免费动漫 | 免费A级毛片无码久久版| 亚洲一区二区三区精品视频| 一级特黄色毛片免费看| 在线观看国产情趣免费视频| 国产黄在线播放免费观看| 亚洲中文字幕无码久久精品1 | 视频免费1区二区三区| 久久精品国产亚洲AV麻豆~| 嫖丰满老熟妇AAAA片免费看| 污视频网站在线免费看| 亚洲欧洲免费视频| 91成人免费观看| 91亚洲国产成人久久精品网站| 三级毛片在线免费观看| 亚洲国产成人精品无码一区二区 |