Spring源码
文章平均质量分 97
Spring源码解析
youthlql
如果图片显示有问题请看置顶文章
展开
-
Spring源码系列- 第10章-SpringMVC中的HandlerAdapter源码解析
***/ @Override //决定使用哪个url注册 protected String [ ] determineUrlsForHandler(String beanName) {} }很简单,意思就是只要你的BeanName是以/开头,就会将这个Bean封装成一个BeanNameUrlHandlerMapping映射。具体路径怎么写呢?你可以在你的类上写一个,这样就有路径了。代表的意思就是/helloReq。原创 2022-10-05 19:46:56 · 3294 阅读 · 2 评论 -
Spring源码系列-第9章-SpringMVC请求处理源码和HandlerMapping原理
/HandlerMapping的registry中找映射,返回HandlerMethod,真正执行当前请求的方法 if(handler == null) {} //找到前面的目标方法以后,还要构造一个处理器链;= null) {}F7进入try {//寻找当前请求谁能处理 return(handlerMethod!= null?} }F7进入可以看到还是从mappingRegistry里获取。原创 2022-10-05 19:34:58 · 1519 阅读 · 0 评论 -
Spring源码系列-第8章-SpringMVC子容器和Spring父容器的启动原理
AbstractAnnotationConfigDispatcherServletInitializer能更快的整合Spring和SpringMVC后面的讲解都用这个测试类因为咱们的QuickAppStarter没有onStarup()所以就调用了父类AbstractDispatcherServletInitializer的,没想到AbstractDispatcherServletInitializer也是继续调用父类的}@Override //注册ContextLoaderListener;原创 2022-09-06 22:51:04 · 480 阅读 · 0 评论 -
Spring源码系列-第7章-AOP的执行流程原理和监听器原理
AOP的执行流程原理和监听器原理原创 2022-09-06 22:34:44 · 969 阅读 · 0 评论 -
Spring源码系列-第6章-AOP的后置处理器和代理对象的创建
文章目录第6章-AOP的后置处理器和代理对象的创建测试类MainConfigAopOpenConfigLogAspectHelloServiceAnnotationMainTest如何分析Spring的一个新功能分析@EnableXXX找到负责AOP功能的后置处理器@EnableAspectJAutoProxyAspectJAutoProxyRegistrar#registerBeanDefinitions()Debug调用栈ImportBeanDefinitionRegistrarAopConfigUti原创 2022-03-19 12:10:53 · 6833 阅读 · 0 评论 -
Spring源码系列-第5章-IOC容器刷新流程
文章目录第5章-容器刷新流程流程图-容器刷新容器创建AnnotationConfigApplicationContext有参构造AnnotationConfigApplicationContext#this()无参构造AnnotatedBeanDefinitionReader有参构造AnnotationConfigUtils#registerAnnotationConfigProcessors()注册Spring内部几个核心组件RootBeanDefinitionAbstractBeanDefinition原创 2022-02-13 18:13:34 · 6045 阅读 · 0 评论 -
Spring源码系列-第4章-Bean初始化流程
文章目录第4章-Bean初始化流程流程图-bean初始化流程AbstractApplicationContext#refresh()AbstractApplicationContext#finishBeanFactoryInitialization()DefaultListableBeanFactory#preInstantiateSingletons()工厂Bean的初始化方式AbstractBeanFactory#isFactoryBean()测试类Debug调用栈DefaultListableBean原创 2022-01-28 10:59:46 · 6087 阅读 · 0 评论 -
Spring源码系列-第3章-后置处理器和Bean生命周期
文章目录第3章-后置处理器和Bean生命周期再来看一下我们的测试类MyBeanPostProcessorMyInstantiationAwareBeanPostProcessorMyMergedBeanDefinitionPostProcessorMySmartInstantiationAwareBeanPostProcessorMyBeanFactoryPostProcessorMyBeanDefinitionRegistryPostProcessorCatbeans2.xmlMainTest继续Bean原创 2022-01-28 10:58:07 · 5819 阅读 · 0 评论 -
Spring源码系列-第2章-后置工厂处理器和Bean生命周期
文章目录第2章-后置工厂处理器和Bean生命周期什么是BeanPostProcessor?BeanFactoryPostProcessor的接口关系BeanPostProcessor接口关系什么是InitializingBean?测试类MyBeanPostProcessorMyInstantiationAwareBeanPostProcessorMyMergedBeanDefinitionPostProcessorMySmartInstantiationAwareBeanPostProcessorMyIni原创 2021-12-24 11:53:51 · 5710 阅读 · 0 评论 -
Spring源码系列-第1章-Spring源码纵览【持续更新中】
文章目录必读第1章-Spring源码纵览概述简单的继承关系图Spring框架整体流程核心组件接口分析Resource资源方法实现类ResourceLoader资源加载器方法实现类BeanFactory-Bean工厂AbstractApplicationContextGenericApplicationContextDefaultListableBeanFactory注册BeanDefinition-1MainTest测试类Debug调用栈AbstractApplicationContext#refresh(原创 2021-12-08 19:42:29 · 9478 阅读 · 5 评论