spring aop使用笔记

定义一个aspect类:
@Aspect
public class MyAspect {

    private Logger logger = LoggerFactory.getLogger(this.getClass());

    @Pointcut("execution(public * com..controller.*Controller.*(..)) &&" +
            "!execution(public * com..NotThisController.*(..))") 
    private void pointCut(){} 
    
    @Before("pointCut()")
	public void beforeInit() throws Throwable {
    	ServletWebRequest servletContainer = (ServletWebRequest)RequestContextHolder.getRequestAttributes();
    	HttpServletRequest request = servletContainer.getRequest();
    	HttpServletResponse response = servletContainer.getResponse();
		//do something
	}
    @After("pointCut()")
	public void afterInit() throws Throwable {
    	ServletWebRequest servletContainer = (ServletWebRequest)RequestContextHolder.getRequestAttributes();
    	HttpServletRequest request = servletContainer.getRequest();
    	HttpServletResponse response = servletContainer.getResponse();
    	        //do something
	}
}


配置文件:
<aop:aspectj-autoproxy />
    <bean class="com.abc.def.MyAspect" /> 

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