
Spring源码
文章平均质量分 61
spring源码解读
常威你为什么打来福
这个作者很懒,什么都没留下…
展开
-
spring源码-Springboot解析配置类时,解析配置类的@Import注解
系列文章目录1、spring源码-Springboot加载配置类beanDefinition2、spring源码-Springboot解析配置类时,解析配置类的内部类3、spring源码-Springboot解析配置类时,解析配置类的@Import注解4、spring源码-springboot中各种Conditional注解之ConditionalOnJava分析5、Spring源码-springboot中注入filter6、Spring源码-Springboot使用内置tomcat配置Dis原创 2021-09-21 19:47:33 · 317 阅读 · 0 评论 -
spring源码-Springboot解析配置类时,解析配置类的内部类
系列文章目录spring源码-Springboot加载配置类beanDefinitionspring源码-Springboot解析配置类时,解析配置类的内部类spring源码-springboot中各种Conditional注解之ConditionalOnJava分析Spring源码-springboot中注入filterSpring源码-Springboot使用内置tomcat配置DispatcherServletSpring源码-Springboot不使用默认的tomcat,使用外部tom原创 2021-09-21 18:37:00 · 718 阅读 · 0 评论 -
源码-Spring中对bean的@Order注解的处理过程
目录前言DefaultListableBeanFactoryOrderComparator前言基于Spring-5.2.15.RELEASE版本分析是使用AnnotationAwareOrderComparator这个比较器类用来给bean排序,在autowired一个数组或者list的时候会对数组或list排序DefaultListableBeanFactoryprivate Object resolveMultipleBeans(DependencyDescriptor descriptor,原创 2021-09-15 11:05:47 · 1041 阅读 · 0 评论 -
源码-springmvc初始化对Controller的处理
目录前言1、分析controller中的方法调用的过程DispatcherServletAbstractHandlerMethodAdapterRequestMappingHandlerAdapterServletInvocableHandlerMethod2、分析下应用启动过程中处理url和controller中method的映射RequestMappingHandlerMappingAbstractHandlerMethodMappingMappingRegistry3、分析下获取handler的过程A原创 2021-09-14 23:40:13 · 580 阅读 · 0 评论 -
spring源码-springboot中各种Conditional注解之ConditionalOnJava分析
目录前言1、ConfigurationClassParser类解析我们的主启动类的所有注解2、ConditionalOnJava注解属性的Condition接口实现类OnJavaCondition3、SpringBootCondition类为Condition的直接实现类前言基于springboot2.3.12.RELEASR版本分析所有的ConditionalOnXXX注解上方都有一个Conditional注解,这个注解的属性是Condition类的实现类。1、ConfigurationCla原创 2021-08-30 14:04:30 · 459 阅读 · 0 评论 -
Spring源码-springboot中注入filter
我们要将一个Filter加入到tomcat中,写一个如下的配置@Configurationpublic class WebConfiguration { @Bean public FilterRegistrationBean testFilterRegistrationBean() { FilterRegistrationBean registrationBean = new FilterRegistrationBean(); registrationBe原创 2021-08-11 16:14:59 · 616 阅读 · 0 评论 -
Spring源码-注解@Autowired原理
目录1、发生阶段AbstractAutowireCapableBeanFactory.populateBeanAbstractAutowireCapableBeanFactory.applyPropertyValues如果我们autowired的属性是FactoryBean类型的,如果factoryBean的getObjectType返回类型并不是autowired属性的类型,那么不会注入,会报错,NoSuchBean在spring中遍历所有的beanName,然后获取对应的beanDefinition原创 2021-08-11 15:23:59 · 156 阅读 · 0 评论 -
Spring源码-SpringAop执行过程详解
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、AnnotationAwareAspectJAutoProxyCreator后置处理器的创建二、在AnnotationAwareAspectJAutoProxyCreator后置处理器方法中创建代理(jdk或cglib)三、springAop后置处理器查找advisor过程总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍原创 2021-06-14 23:21:33 · 495 阅读 · 0 评论 -
Spring源码-Springboot使用内置tomcat配置DispatcherServlet
文章目录前言一、ServletWebServerApplicationContext.onfresh二、RegistrationBean三、DynamicRegistrationBean四、ServletRegistrationBean前言springboot使用主启动类启动,DispatcherServlet怎么配置到内置tomcat的?将DispatcherServlet设置到ServletContext里,并设置loadOnStartup和urlMapping属性在什么阶段设置的?spri原创 2021-05-31 23:06:31 · 575 阅读 · 0 评论 -
Spring源码-Springboot不使用默认的tomcat,使用外部tomcat原理
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、tomcat启动过程二、SpringServletContainerInitializer类三、启动类继承SpringBootServletInitializer四、ServletWebServerApplicationContext一、tomcat启动过程在web容器启动时为提供给第三方组件机会做一些初始化的工作,例如注册servlet或者filtes等,servlet规范中通过ServletContainerInit原创 2021-05-31 14:35:54 · 708 阅读 · 0 评论 -
Spring源码-Springmvc解析application配置文件
文章目录前言一、springmvc解析application配置文件时序图总结前言1、发生在AbstractApplicationContext的获取初始化beanFactory阶段,先初始化一个DefaultListableBeanFactory,然后开始加载配置文件解析beanDefinition一、springmvc解析application配置文件时序图总结1、将所有META-INF目录下spring.handlers文件中配置的 命名空间=自定义NameSpaceHandl..原创 2021-05-22 23:02:19 · 340 阅读 · 0 评论 -
Spring源码-Springmvc初始化handlerMapping
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、springmvc初始化handlerMapping时序图总结前言1、创建XmlWebApplicationContext2、调用refresh()方法3、bean都创建完成后发布上下文刷新事件,开始初始化handlerMapping一、springmvc初始化handlerMapping时序图总结1、如果不配置handlerMapping实现类,那么会从DispatcherServlet.prope原创 2021-05-22 22:12:55 · 317 阅读 · 0 评论 -
Spring源码-Springboot加载配置类beanDefinition
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、加载beanDefinition时序图总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、加载beanDefinition时序图总结提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas原创 2021-05-20 17:28:50 · 868 阅读 · 0 评论 -
Spring源码-Spring初始化单例bean步骤
1、AbstractApplicationContext.refresh()2、AbstractApplicationContext.finishBeanFactoryInitialization(beanFactory)3、DefaultListableBeanFactory.preInstantiateSingletons();4、AbstractBeanFactory.doGetBean() 1、AbstractBeanFactory.getSingleton(beanName);第一原创 2020-07-13 23:27:01 · 134 阅读 · 0 评论 -
Spring源码-Spring解决循环依赖
1、spring配置文件<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:xsi="原创 2020-07-15 17:11:27 · 376 阅读 · 0 评论 -
Spring源码-Spring源码导入到Idea
1、安装jdk安装jdk1.8以上版本,配好环境变量,spring最新的代码已经使用jdk8的一些新特性,故必须jdk8或以上版本。2、安装git客户端由于spring源代码已经托管GitHub3、安装grandle下载安装gradle 3.0 以上版本(我安装的是4.4的版本),也需要配置好环境变量下载地址:http://services.gradle.org/distr...转载 2020-04-05 10:36:05 · 397 阅读 · 0 评论