锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲hairy多毛pics大全,亚洲另类小说图片,国产亚洲精品拍拍拍拍拍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 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 亚洲日本va一区二区三区 | 免费人成年激情视频在线观看| 免费一级特黄特色大片在线| 77777亚洲午夜久久多喷| 免费看一级毛片在线观看精品视频| 国产成人精品一区二区三区免费 | 国产又长又粗又爽免费视频 | 亚洲愉拍99热成人精品热久久| 亚洲国产成人资源在线软件| 日本高清不卡中文字幕免费 | 亚洲国产精品自在线一区二区| 亚洲av色香蕉一区二区三区 | 亚洲另类少妇17p| 亚洲人色大成年网站在线观看| 亚洲成年人免费网站| 日韩精品亚洲aⅴ在线影院| 久久综合久久综合亚洲| 无码国产精品一区二区免费式芒果| 国产hs免费高清在线观看| 亚洲欧洲精品久久| 国产成人综合亚洲| 免费视频专区一国产盗摄| 亚洲国产人成在线观看69网站| 97av免费视频| 亚洲视频在线观看一区| 免费观看黄色的网站| 亚洲视频精品在线观看| 日本一区午夜艳熟免费| 亚洲一本大道无码av天堂| 精品亚洲视频在线| 永久免费毛片手机版在线看| ASS亚洲熟妇毛茸茸PICS| 国产免费怕怕免费视频观看| 中文日本免费高清| 久久国产成人亚洲精品影院| 国产亚洲Av综合人人澡精品| 亚洲人成亚洲人成在线观看| 美女被免费喷白浆视频| 日本精品久久久久久久久免费| 亚洲制服中文字幕第一区| 免费无码中文字幕A级毛片|