<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
    現在你可以為你的應用系統(tǒng)創(chuàng)建可重復使用的切入點了。Spring支持在這些切入點上進行操作-合并與交叉-來創(chuàng)建新的切入點
    。只有當所有切入點都匹配時交叉集合才匹配,任何一個切入點匹配都會使合并集合匹配。為了對2個Pointcut對象進行合并,必須使用Pointcuts類。例如:
    Pointcut union = Pointcuts.union(pointcut1,pointcut2);
    這種方式的一個缺點是它需要通過編碼來實現。
    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 王永慶 閱讀(163) 評論(0)  編輯  收藏 所屬分類: SPRING
    <2009年11月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    關注blogs

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 草久免费在线观看网站| 亚洲国产AV无码一区二区三区| 国产精品免费一区二区三区| 日本免费无遮挡吸乳视频电影| 亚洲人成电影网站免费| 日韩中文字幕在线免费观看| 久久久亚洲精华液精华液精华液| 在线中文高清资源免费观看| 精品亚洲国产成人av| 人人狠狠综合久久亚洲高清| 羞羞视频免费观看| 亚洲日本在线观看视频| 羞羞视频免费网站在线看| 国产AV无码专区亚洲AV男同| 1000部夫妻午夜免费| 亚洲一区精彩视频| 国产无遮挡裸体免费视频| 免费人成在线观看播放a| 亚洲色偷拍区另类无码专区| 香蕉视频在线免费看| 亚洲精品午夜久久久伊人| 丁香花在线观看免费观看| 亚洲国产精品ⅴa在线观看| 亚洲成a人片在线观看国产| 最近2019中文免费字幕在线观看| 亚洲视频免费在线看| 最近中文字幕无免费视频| 丁香六月婷婷精品免费观看| 久久精品国产69国产精品亚洲| 最近中文字幕国语免费完整 | 亚洲欧美国产国产综合一区| 国产午夜无码视频免费网站 | 久久不见久久见免费视频7| 亚洲五月综合缴情婷婷| 亚洲麻豆精品国偷自产在线91| 久久免费视频网站| 亚洲人成网站色7799| 亚洲日韩激情无码一区| 男女超爽刺激视频免费播放| 人碰人碰人成人免费视频| 亚洲福利电影一区二区?|