- 博客(6)
- 收藏
- 关注
原创 Spring AOP 动态代理和原理分析
一、原因AOP,一个神秘而又强大的功能,面试必问的知识点。AOP的实现主要有两种方式,一种是通过回调函数,另一种是代理。回调函数指的过滤器、拦截器这种,代理指的JDK代理和CGLib代理。这篇文章只讲代理的方式,对过滤器、拦截器不太了解的可以看Filter 过滤器自定义及原理分析、拦截器HandlerInterceptor(SpringMVC)自定义及原理分析首先说一下代理模式:定义:为另一个对象提供一个替身或者占位符以控制对这个对象的访问。这句话引用自《Head First 设计模式 》.
2020-12-27 09:56:20
455
2
原创 拦截器 HandlerInterceptor(SpringMVC)自定义及原理分析
一、原因在之前,总是对过滤器、拦截器、监听器、MethodInterceptor(AOP)总是懵懵懂懂,不明白什么时候用过滤器,什么时候用拦截器好,只是工作中需要了就去百度,然后对比半天,找个看着差不多的把他写的代码粘过来放到自己的项目里再调试。但是没有去思考它是怎么实现的,是谁调用的,为什么我这么写就可以调到?今天就来详细的介绍一下。二、自定义拦截器首先需要知道的是HandlerInterceptor是属于SpringMVC的。springboot中拦截器的注册还是比较方便的。大概
2020-12-24 16:22:33
1621
原创 Filter 过滤器自定义及原理分析
一、原因虽然也工作了这么久,但是对过滤器具体实现原理,到底是怎么调用的,谁调用的,一直都是模棱两可。因此专门研究了一下,也记录下来给还不太了解的你做一个参考。首先要知道的是Filter是Servlet规范的一部分,是Servlet容器(如Tomcat)实现的,并不是spring实现的。Filter接口是在tomcat的jar包中二、自定义过滤器我们先自定义一个自己的过滤器。1、web.xml配置方式2、SpringBoot项目配置方式方式1可以使用@We...
2020-12-22 20:52:23
1924
4
原创 arthas神器--watch查看方法入参、出参、类成员变量
目录一、原因二、watch主要功能三、使用1、下载2、测试类代码四、示例1、查看方法出参和返回值2、查看类对象的属性3、过滤不需要的请求4、没有办法输出局部变量的值五、arthas idea插件一、原因曾经,线上出了问题又定位不到问题原因,就开始抓耳挠腮,一遍一遍仔细看代码,到底是哪里可能出错了呢?然后在可能出错的地方加上日志,然后重新部署,再看输出日志;发现不行,还需要输出这个方法中的这个参数,然后再重新部署;一遍一遍循环往复,甚是繁琐。心想就没有一个想
2020-11-26 16:14:47
72997
5
原创 IDEA常用配置和插件(包括导入导出)
一、原因工欲善其事、必先利其器。每次换工作或者换电脑,都要重新设置一遍IDEA的配置,很多使用顺手的设置和工具没有了会感到很是难受,然后又是各种百度、尝试,感觉十分繁琐和麻烦。所以自己总结起来方便以后查找,也给大家提供一个便利的地方查找。话不多说,进入正题。二、常用设置1、主题、字体、编码设置1)主题设置:2)字体设置:File–>settings–>Editor–>Font–>3)编码设置:File->Settings->Editor-&
2020-10-30 16:10:07
34895
8
原创 tomcat热部署内存泄漏问题 create a memory leak
一、问题由来我们组部署服务的方式,是将项目打成war包,然后拷贝到服务器tomcat的webapps目录下,虽然不需要重启tomcat,但是在log目录下catalina.out日志中会看到类似于下面的WARNING报错:org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [DemoProject] appears to have started a thread n
2020-10-29 10:32:14
7483
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人