锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品国产96精品亚洲 ,亚洲影院天堂中文av色,日韩精品电影一区亚洲http://www.tkk7.com/star/category/33292.htmlMemozh-cnFri, 25 Jul 2008 16:20:12 GMTFri, 25 Jul 2008 16:20:12 GMT60Sharing common pointcut definitionshttp://www.tkk7.com/star/articles/217586.htmlstarstarFri, 25 Jul 2008 14:53:00 GMThttp://www.tkk7.com/star/articles/217586.htmlhttp://www.tkk7.com/star/comments/217586.htmlhttp://www.tkk7.com/star/articles/217586.html#Feedback0http://www.tkk7.com/star/comments/commentRss/217586.htmlhttp://www.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 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 一级做a爰片性色毛片免费网站| 亚洲色偷拍另类无码专区| 99久久综合国产精品免费| 暖暖日本免费中文字幕| 91在线视频免费观看| 99久久免费国产精品热| 国产成人无码精品久久久免费| 思思久久99热免费精品6| 免费无码又爽又黄又刺激网站| 免费无码AV一区二区| 色多多www视频在线观看免费| 特级一级毛片免费看| 一级片在线免费看| 国产VA免费精品高清在线| 岛国精品一区免费视频在线观看| av成人免费电影| 免费福利电影在线观看| 96免费精品视频在线观看| 亚洲精品在线免费观看视频 | 亚洲福利一区二区三区| 亚洲成人动漫在线观看| 国产亚洲国产bv网站在线| 亚洲欧美成人综合久久久| 免费一区二区三区在线视频| 亚洲免费在线观看| 免费一区二区三区| 青青视频观看免费99| 蜜臀91精品国产免费观看| 亚洲成?v人片天堂网无码| 亚洲一区二区三区无码中文字幕| 亚洲av无码一区二区乱子伦as| 久久av无码专区亚洲av桃花岛| 亚洲娇小性色xxxx| 香蕉视频免费在线| 另类免费视频一区二区在线观看| 亚洲免费在线视频观看| 国产真人无遮挡作爱免费视频| 亚洲无人区一区二区三区| 亚洲噜噜噜噜噜影院在线播放| 国产综合激情在线亚洲第一页| 国产精品极品美女自在线观看免费 |