详解SpringBoot AOP 拦截器(Aspect注解方式)_

详解SpringBoot AOP 拦截器(Aspect注解方式)_

ID:63516295

大小:12.57 KB

页数:3页

时间:2021-10-12

详解SpringBoot AOP 拦截器(Aspect注解方式)__第1页
详解SpringBoot AOP 拦截器(Aspect注解方式)__第2页
详解SpringBoot AOP 拦截器(Aspect注解方式)__第3页
资源描述:

《详解SpringBoot AOP 拦截器(Aspect注解方式)_》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、详解SpringBootAOP拦截器(Aspect注解方式)_常用用于实现拦截的有:Filter、HandlerInterceptor、MethodInterceptor第一种Filter属于Servlet供应的,后两者是spring供应的,HandlerInterceptor属于SpringMVC项目供应的,用来拦截恳求,在MethodInterceptor之前执行。实现一个HandlerInterceptor可以实现接口HandlerInterceptor,也可以继承HandlerInterceptorAdapter类,两种方法一样。这个不在本文范围,具体用

2、法之前已经写过SpringBoot的(SpringMVC的用法一样,区分只是配置)MethodInterceptor是AOP项目中的拦截器,它拦截的目标是方法,即使不是Controller中的方法。实现MethodInterceptor拦截器大致也分为两种,一种是实现MethodInterceptor接口,另一种利用Aspect的注解或配置。关于实现MethodInterceptor接口的这种方法,还需要在配置文件中做配置,在SpringMVC中用法还可以,在SpringBoot中用法起来好像没有那么便利。本文主要还是说Aspect注解方式,个人觉得这种方法才比

3、较敏捷,与配置与工程整个代码都没有耦合(你添加一个类,做几个注解就可以用了,无需在其他地方再做什么),更易应用。首先为你的SpringBoot项目添加maven依靠,让其支持aop(其实就是自动引入aop需要的一些jar)在pom.xml中添加依靠:此时我们访问show恳求,就会被拦截,掌握台会打印输出。假如恳求show2则不会被拦截。留意:1、在application.properties中也不需要添加spring.aop.auto=true,由于这个默认就是true,值为true就是启用@EnableAspectJAutoProxy注解了。2、你不需要手工添

4、加@EnableAspectJAutoProxy注解。3、当你需要用法CGLIB来实现AOP的时候,需要配置spring.aop.proxy-target-class=true,这个默认值是false,不然默认用法的是标准Java的实现。其实aspectj的拦截器会被解析成AOP中的advice,最终被适配成MethodInterceptor,这些都是Spring自动完成的,假如你有爱好,具体的过程请参考springAOP的实现。关于集中拦截方法的区分总结:HandlerInterceptoer拦截的是恳求地址,所以针对恳求地址做一些验证、预处理等操作比较合适。

5、当你需要统计恳求的响应时间时MethodInterceptor将不太简单做到,由于它可能跨越许多方法或者只涉及到已经定义好的方法中一部分代码。MethodInterceptor利用的是AOP的实现机制,在本文中只说明白用法方式,关于原理和机制方面介绍的比较少,由于要说清晰这些需要讲出AOP的相当一部分内容。在对一些一般的方法上的拦截HandlerInterceptoer就无能为力了,这时候只能利用AOP的MethodInterceptor。Filter是Servlet规范规定的,不属于spring框架,也是用于恳求的拦截。但是它适合更粗粒度的拦截,在恳求前后做一

6、些编解码处理、日志记录等。...

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。