锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品国产96精品亚洲 ,亚洲影院天堂中文av色,日韩精品电影一区亚洲http://m.tkk7.com/star/category/33292.htmlMemozh-cnFri, 25 Jul 2008 16:20:12 GMTFri, 25 Jul 2008 16:20:12 GMT60Sharing common pointcut definitionshttp://m.tkk7.com/star/articles/217586.htmlstarstarFri, 25 Jul 2008 14:53:00 GMThttp://m.tkk7.com/star/articles/217586.htmlhttp://m.tkk7.com/star/comments/217586.htmlhttp://m.tkk7.com/star/articles/217586.html#Feedback0http://m.tkk7.com/star/comments/commentRss/217586.htmlhttp://m.tkk7.com/star/services/trackbacks/217586.htmlWhen working with enterprise applications, you often want to refer to modules of the application and particular sets of operations from within several aspects. We recommend defining a "SystemArchitecture" aspect that captures common pointcut expressions for this purpose. A typical such aspect would look as follows:

 

package com.xyz.someapp;

import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;

@Aspect
public class SystemArchitecture {

  
/**
   * A join point is in the web layer if the method is defined
   * in a type in the com.xyz.someapp.web package or any sub-package
   * under that.
   
*/

  @Pointcut(
"within(com.xyz.someapp.web..*)")
  
public void inWebLayer() {}

  
/**
   * A join point is in the service layer if the method is defined
   * in a type in the com.xyz.someapp.service package or any sub-package
   * under that.
   
*/

  @Pointcut(
"within(com.xyz.someapp.service..*)")
  
public void inServiceLayer() {}

  
/**
   * A join point is in the data access layer if the method is defined
   * in a type in the com.xyz.someapp.dao package or any sub-package
   * under that.
   
*/

  @Pointcut(
"within(com.xyz.someapp.dao..*)")
  
public void inDataAccessLayer() {}

  
/**
   * A business service is the execution of any method defined on a service
   * interface. This definition assumes that interfaces are placed in the
   * "service" package, and that implementation types are in sub-packages.
   * 
   * If you group service interfaces by functional area (for example, 
   * in packages com.xyz.someapp.abc.service and com.xyz.def.service) then
   * the pointcut expression "execution(* com.xyz.someapp..service.*.*(..))"
   * could be used instead.
   *
   * Alternatively, you can write the expression using the 'bean'
   * PCD, like so "bean(*Service)". (This assumes that you have
   * named your Spring service beans in a consistent fashion.)
   
*/

  @Pointcut(
"execution(* com.xyz.someapp.service.*.*(..))")
  
public void businessService() {}
  
  
/**
   * A data access operation is the execution of any method defined on a 
   * dao interface. This definition assumes that interfaces are placed in the
   * "dao" package, and that implementation types are in sub-packages.
   
*/

  @Pointcut(
"execution(* com.xyz.someapp.dao.*.*(..))")
  
public void dataAccessOperation() {}

}

The pointcuts defined in such an aspect can be referred to anywhere that you need a pointcut expression. For example, to make the service layer transactional, you could write:

 

<aop:config>
  
<aop:advisor 
      
pointcut="com.xyz.someapp.SystemArchitecture.businessService()"
      advice-ref
="tx-advice"/>
</aop:config>

<tx:advice id="tx-advice">
  
<tx:attributes>
    
<tx:method name="*" propagation="REQUIRED"/>
  
</tx:attributes>
</tx:advice>

The <aop:config> and <aop:advisor> elements are discussed in Section 6.3, “Schema-based AOP support”. The transaction elements are discussed in Chapter 9, Transaction management.



star 2008-07-25 22:53 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 亚洲AV无码国产丝袜在线观看| 婷婷亚洲天堂影院| 亚洲精品高清国产麻豆专区| 免费国产成人午夜在线观看| 亚洲香蕉网久久综合影视| 九九综合VA免费看| 国产亚洲精品a在线无码| 最近免费中文字幕MV在线视频3 | a毛片全部播放免费视频完整18| 亚洲国产成人久久精品99| 九九视频高清视频免费观看 | 亚洲国产美女视频| 成人毛片免费观看视频在线| 亚洲女子高潮不断爆白浆| 日韩免费在线观看| 成人嫩草影院免费观看| 2048亚洲精品国产| 日韩av无码久久精品免费| 亚洲综合色区中文字幕| 国产小视频免费观看| 国产精品小视频免费无限app| 久久精品国产精品亚洲艾草网| 曰批视频免费40分钟试看天天 | 亚洲人和日本人jizz| 在线观看永久免费视频网站| h视频在线观看免费| 亚洲色四在线视频观看| 成人黄页网站免费观看大全| 国产亚洲综合久久| 亚洲丁香色婷婷综合欲色啪| 日韩精品无码区免费专区| 免费夜色污私人影院网站| 亚洲国产精品久久久久| 免费高清小黄站在线观看| 久久性生大片免费观看性| 亚洲人成免费电影| 4338×亚洲全国最大色成网站| 成人免费视频网站www| 丰满妇女做a级毛片免费观看| 亚洲精品国产福利片| 无码欧精品亚洲日韩一区夜夜嗨|