定义一个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" />