Java蜘蛛人 欢迎大家

欢迎大家 来到我的blog , 如果我身边的朋友 有什么不懂可以直接来问我 我会细心的帮助你的. 如果网络上的朋友有什么不懂的 可以加我Java蜘蛛人 QQ48187537
posts - 54, comments - 192, trackbacks - 0, articles - 1

Spring AOP advice

Posted on 2009-02-13 12:25 Java蜘蛛人 --郑成桥 阅读(1121) 评论(0)  编辑  收藏

很很常用的before ,After ........等等


返回参数的通知全套代码:
package com.zcq.dao;

public interface Person {
    
    
public String getName(String name,String pass);

}



package com.zcq.dao;

public class PersonImp implements Person {

    
public String getName(String name, String pass) {
        System.out.println(
"hehe");
        String bb 
="aa";
        
        
return bb;
    }


}



package com.zcq.dao;

import org.aspectj.lang.JoinPoint;

public class AspectClass {
    
    
    
public String getName(JoinPoint joinPoint,String bb)
    
{
         
        System.out.println(bb);
        
return  null;
    }


}



<?xml version="1.0" encoding="UTF-8"?>
 
<beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:aop
="http://www.springframework.org/schema/aop"
        xmlns:tx
="http://www.springframework.org/schema/tx"
        xsi:schemaLocation
="
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
            
            
            
<bean id="aspectClass" class="com.zcq.dao.AspectClass"></bean>
            
<bean  id="personimp" class="com.zcq.dao.PersonImp"></bean>
            
            
<aop:config>
              
<aop:aspect id="addAllMethod" ref="aspectClass">
                
<aop:pointcut id="addpointcut" expression="execution(public * get*(..))" />
              
<aop:after-returning  pointcut-ref="addpointcut" method="getName"  returning="bb" />
               
<!--    <aop:after-throwing pointcut-ref="addpointcut" method="getName" throwing="tx"  />  --> 
              
</aop:aspect>            
            
</aop:config>
</beans>


package com.zcq.dao;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {

    
/**
     * 
@param args
     
*/

    
public static void main(String[] args) {
        
        
        ApplicationContext ctx
= null;
        
        ctx
= new ClassPathXmlApplicationContext("applicationContext.xml");
        
        Person p  
= (Person)ctx.getBean("personimp");
        
        p.getName(
"name""pass");

         
    }


}


只有注册用户登录后才能发表评论。


网站导航: