spring aop 测试 切面拦截没有作用

阅读更多

在做aop测试的时候  发现pointcut 没有效果,之后查了一下  发现了问题

 

如果使用了spring mvc后,如果把放在application.xml文件中可能会aop无效,最好把它放在dispatcher-servlet.xml文件中

 




    
    
    
        
            
                
                    
                        
                            text/plain; charset=UTF-8
                        
                    
                
                
                    
                        
                            application/json;charset=UTF-8
                        
                    
                
            
        
    

    
    
    
    
    
    
    
    
        
        
    

    

    
    
    
    
        
            
            
            
           
        
    

 aop类

 

import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;

/**
 * Created by Guozhijie on 2016/7/7.
 */
@Component
@Aspect
public class HelloWorldAspect {

    public void beforeAdvance(){
        System.out.println("before.............");
    }

    public void afterAdvance(){
        System.out.println("after.............");
    }

    @Pointcut(value="execution(* com.wonder.service..*.testOut(..)) && args(param)", argNames = "param")
    public void beforePointcut(String param) {
    }

    @Before(value = "beforePointcut(param)", argNames = "param")
    public void beforeAdvice(String param) {
        System.out.println("===========before advice param:" + param);
    }

}

 

 

输出

 

===========before advice param:aaa

service test ###########aaa

 

 

 

 

你可能感兴趣的:(aop,@Aspect)