![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring
仗键纵码走天涯
这个作者很懒,什么都没留下…
展开
-
Spring源码DEBUG指南(1)——IOC容器启动及其组件初始化
是否有同学曾无数次发誓要阅读Spring源码,然后在跟到晕头转向的时候吐血放弃?想上网搜搜源码相关的知识,打开十几页的博文发现涌入眼帘的全部都是铺天盖地的源码,偶尔能从门缝中找见几句对源码的注释,将初入源码分析的同学彻底击溃……其实读源码这事儿,说难也难,说简单也简单。真的耐着性子读一阵子之后,会发现Spring的源码尽管深不可测,但层次分明,结构优雅,每一个功能点也并不很难懂,比读你同事的垃圾...原创 2019-05-30 15:28:10 · 638 阅读 · 4 评论 -
Spring源码DEBUG指南(2)——AOP实现原理(CGLIB模式)
本篇是AOP相关的源码分析,AspectJ和Transaction的都在里面,实际上实现原理是一样的,只不过用了不同的拦截器而已,图中都有说明。这里只画了CGLIB的实现,但其实JDK的也一样,无非就是创建动态代理对象的部分不同而已。1、图例说明:2、AOP实现原理(CGLIB模式):当前源码版本:org.springframework:5.0.6.RELEASE版本不同时代码的行号...原创 2019-05-30 15:48:10 · 492 阅读 · 0 评论 -
在SpringMVC中获取URL和Controller映射关系的两种办法 (亲测可用)
package com.jeeplus.modules.dynamictrace.web;import com.jeeplus.core.web.BaseController;import org.springframework.beans.factory.BeanFactoryUtils;import org.springframework.stereotype.Controller;...原创 2017-12-21 09:55:39 · 2403 阅读 · 0 评论 -
Pointcut表达式切@annotation的一个诡异的坑
今天想做一个AOP切面,用来检测某个方法执行所花费的时间,因为需要精确到method,而且想要灵活变化被切的方法,所以在Aspect中的Pointcut表达式里使用了@annotation来切到注解对应的方法。定义注解和切面的地方是这样:@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interfa...原创 2019-06-28 21:02:42 · 9680 阅读 · 18 评论 -
SprngMVC中request请求的执行流程
前面我们已经进行过SpringMVC的源码分析(详见《Spring源码DEBUG指南(3)——SpringMVC执行原理》),本篇主要以两段代码为切入点,梳理一下request请求在SpringMVC中的执行流程。第一段代码,servlet的入口配置,它主要负责将request请求转交给SpringMVC@Configurationpublic class WebServletConfig ...原创 2019-06-29 13:18:22 · 533 阅读 · 0 评论