Spring2.0 的Aspect[学习]

新的Spring2.0 现在在m3版本吧的aspect配置
xml 代码
 
  1. <aop:config>  
  2. <aop:aspect id="beforeAdviceBindingTests" ref="testAspect">  
  3. <aop:advice  
  4. kind="before"  
  5. method="oneIntArg"  
  6. pointcut="execution(* setAge(..)) and args(age)" />  
  7. <!---->aop:aspect>   


xml 代码
 
  1. <!---->aop:config>  
  2. <bean id="testAspect" class="org.example.AdviceBindingTestAspect"/>   

下面是org.example.AdviceBindingTestAspect的代码:
java 代码
 
  1. public class AdviceBindingTestAspect {  
  2. public void oneIntArg(int age) {  
  3. ……  
  4. }  
  5. }  

上面的所有配置,相当于一下AJ代码:
java 代码
 
  1. public aspect AdviceBindingTestAspect {  
  2. before(int age) : execution(* setAge(..)) && args(age) {  
  3. ……  
  4. }  
  5. }  


嗯,嗯,要好好学习新的东西了,详细的说明在
http://www.aspectprogrammer.org/blogs/adrian/2006/01/typed_advice_in.html

ps@2006/3/23,spring还有简化的aop配置方式,如下面两个配置的结果是一样的:
1、
xml 代码
 
  1. <aop:config>   
  2. <aop:aspect id="judgeAspect" ref="simon">   
  3.     <aop:advice kind="after"   
  4.            method="commentOnPerformance"   
  5.            pointcut="execution(* *..Performer.perform(..))" />  
  6.  </aop:aspect>  
  7. </aop:config>   

2、
xml 代码
 
  1. <aop:config>   
  2. <aop:aspect id="judgeAspect" ref="simon">   
  3.     <aop:after   
  4.              method="commentOnPerformance"   
  5.              pointcut="execution(* *..Performer.perform(..))" />  
  6. </aop:aspect>  
  7. </aop:config>   

 
除此之外还有其它的定义,如:

xml 代码
 
  1. <aop:before>  
  2. <aop:after>  
  3. <aop:after-returning>  
  4. <aop:after-throwing>  
  5. <aop:around>  

你可能感兴趣的:(spring,AOP,html,bean,xml)