介绍
本篇文章为大家展示了弹簧引导拦截器如何使用spring AOP实现,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
在春天引导中,简单几步,使用spring AOP实现一个拦截器:
1,引入依赖:
& lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-aop & lt;/dependency>
2,创建拦截器类(在该类中,定义了拦截规则:拦截com.xjj.web。控制器包下面的所有类中,有@RequestMapping注解的方法。):
/* * *拦截器:记录用户操作日志,检查用户是否登录…… * @author XuJijun */@Aspect @ component 公开课ControllerInterceptor { 私有静态最终日志记录器=LoggerFactory.getLogger (ControllerInterceptor.class); @ value (“$ {spring.profiles}“) 私人字符串env;/* * *定义拦截规则:拦截com.xjj.web.controller包下面的所有类中,有@RequestMapping注解的方法。 */@Pointcut(“执行(* com.xjj.web.controller . . *(. .))和@annotation (org.springframework.web.bind.annotation.RequestMapping)“) 公共空间controllerMethodPointcut () {}/* * *拦截器具体实现 * @param pjp * @return JsonResult(被拦截方法的执行结果,或需要登录的错误提示)。 */@Around (“controllerMethodPointcut()“)//指定拦截器规则;也可以直接把“执行(* com.xjj .........)”写进这里 公共对象拦截器(ProceedingJoinPoint pjp) { 长beginTime=System.currentTimeMillis (); MethodSignature签名=(MethodSignature) pjp.getSignature (); 方法方法=signature.getMethod ();//获取被拦截的方法 字符串methodName=method.getName ();//获取被拦截的方法名 Set