拦截器基础应用
SpringBoot原创拦截器aop切面小于 1 分钟约 226 字
拦截器基础应用
创建拦截器
@Component
public class MyInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("preHandle方法执行....");
return false;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
System.out.println("postHandle方法执行....");
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
System.out.println("afterCompletion方法执行....");
}
}
配置拦截器
@Configuration
public class MVCConfig implements WebMvcConfigurer {
@Autowired
private MyInterceptor myInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(myInterceptor)
.addPathPatterns("/user/findAll")
.addPathPatterns("/public.html")
.excludePathPatterns("/index.html");
}
}
aop切面



@Aspect
@Component
public class logingAdvice {
@Pointcut("execution( * com.example.demo.controller.*.*(..))")
public void myPointcut() {
System.out.println("myPointcut");
}
@Around("@annotation(loging)")
public Object applicationLog(ProceedingJoinPoint pjp) throws Throwable {
System.out.println("applicationLog");
return "{\"code\":300,\"msg\":\"访问频繁\"}";
}
}
@Aspect
@Component
public class logingAdvice {
@Pointcut("execution( * com.example.demo.controller.*.*(..))")
public void myPointcut() {
System.out.println("myPointcut");
}
@Around("myPointcut()")
public Object applicationLog(ProceedingJoinPoint pjp) throws Throwable {
System.out.println("applicationLog");
return pjp.proceed();
}
}