Spring學(xué)習(xí)心得(五)

           

          Spring學(xué)習(xí)心得(五)

          1.       對(duì)advice細(xì)粒度的控制,可以通過(guò)pointcut類(lèi)來(lái)控制。

          2.       advisoradvicepointcut的集合體。

          3.       控制方法如下:

          a)       定義Pointcut中的ClassFilter實(shí)現(xiàn)類(lèi)和MethodMatcher實(shí)現(xiàn)類(lèi),完成對(duì)classmethod方法的advice的控制,其中MethodMatcher中的matches(Method method, Class targetClass)方法是對(duì)classmethod的雙重并集控制

          b)      定義新的Pointcut實(shí)現(xiàn)類(lèi),并將ClassFilter實(shí)現(xiàn)類(lèi)和MethodMatcher實(shí)現(xiàn)類(lèi)賦值

          c)       定義新的advisor并且實(shí)現(xiàn)PointcutAdvisor接口

          d)      在定義的advisor中使用PointcutAdvisor接口中的getPointcut()getAdvice()Pointcut的實(shí)現(xiàn)類(lèi)和需要的advice進(jìn)行傳遞

          e)       最后在application-context.xml中將

          <bean id="XXXX"

          class="org.springframework.aop.framework.ProxyFactoryBean">

                <property name="InterceptorNames">

                     <list>

                           <idref local="定義新的advisorid">

                     </list>

                <property>

          </bean>

          <bean id="定義新的advisorid" class="定義新的advisor的類(lèi)     " >

          </bean>

          4.       為了使用靜態(tài)的Pointcut,可以使用StaticMethodMatcherPointcut,這時(shí)候

          public final boolean isRuntime()

              {

                  return false;

          }

          便不能修改了。也就是靜態(tài)的Pointcut

          5.       更簡(jiǎn)單的是使用NameMatchMethodPointcutAdvisor,這里一個(gè)advisor只有一個(gè)advice

           

          v

          posted on 2007-09-05 16:50 劉錚 閱讀(216) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Spring

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導(dǎo)航

          統(tǒng)計(jì)

          留言簿(1)

          文章分類(lèi)(141)

          文章檔案(147)

          搜索

          最新評(píng)論

          主站蜘蛛池模板: 明水县| 江川县| 东海县| 青岛市| 五台县| 四会市| 山西省| 莲花县| 珠海市| 峨眉山市| 轮台县| 莆田市| 乌兰浩特市| 全南县| 承德市| 新源县| 雷州市| 阿拉善左旗| 保定市| 麻江县| 衡阳市| 永清县| 湖南省| 崇文区| 平邑县| 格尔木市| 高淳县| 临沂市| 湘潭市| 彝良县| 西贡区| 吉林省| 金坛市| 余干县| 三明市| 桦南县| 肇东市| 武清区| 油尖旺区| 志丹县| 南木林县|