Spring源码学习
文章平均质量分 83
Spring源码学习
thewindkee
这个作者很懒,什么都没留下…
展开
-
SpringMVC请求调用流程简介
【代码】SpringMVC请求调用流程简介。原创 2022-10-16 01:12:39 · 889 阅读 · 0 评论 -
MapperScannerConfigurer导致PlaceHolder的替换变量报错
前提1.开启了byName自动注入2.定义了PropertySourcesPlaceholderConfigurer,去解析配置。3.含有id="sqlSessionFactory"的SqlSessionFactory4.定义了MapperScannerConfigurer,在其属性sqlSessionFactory中的dataSource属性中使用了${username}、${password}等。原因MapperScannerConfigurer 是一个BeanDefinitionReg原创 2020-06-28 22:33:24 · 362 阅读 · 0 评论 -
Spring中怎么解决循环依赖?
前文在写Spring之getBean的时候提到过在这个过程中要解决循环依赖。什么是循环依赖?A类依赖B类,B类依赖A类。 这就是循环依赖。如下就是一段在Spring中会造成循环依赖的代码@Componentpublic class A { private B b; @Autowired public A(B b) { this.b = b;...原创 2020-03-29 21:28:44 · 1249 阅读 · 0 评论 -
Spring是怎么创建一个Bean的?
finishBeanFactoryInitialization原创 2020-02-12 13:31:38 · 2869 阅读 · 1 评论 -
Spring之NamespaceHandler与BeanDefinitionParser
1.前文由Spring启动过程之-obtainFreshBeanFactory() 可以看到NamespaceHandler、BeanDefinitionParser为解析配置文件中的Element起重要作用。那么它本身是如何被加载的呢?2.NamespaceHandler之ContextNamespaceHandler常见的NamespaceHandler实例:ContextNamespa...原创 2020-01-20 19:14:41 · 1041 阅读 · 0 评论 -
Spring之启动过程obtainFreshBeanFactory()
1.refresh流程我们知道refresh是spring启动的关键方法,refresh启动过程中,先要得到beanFactory 以及 需要交给beanFactory管理的bean。在refresh时,prepareRefresh后,马上就调用了obtainFreshBeanFactory创建beanFactory以及扫描bean信息(beanDefinition),并通过BeanDefin...原创 2020-01-20 17:43:32 · 1822 阅读 · 3 评论 -
SpringMVC中的RootWebApplicationContext与ServletWebApplicationContext
RootWebApplicationContext以下简称RootACServletWebApplicationContext以下简称ServletAC简介Web on Servlet Stack 1.1.1. Context Hierarchy中描述到了SpringMVC中两个WebApplicationContext的继承关系。RootAC会被注入到ServletAC的parentBea...原创 2019-07-11 16:34:58 · 2406 阅读 · 0 评论 -
SpringIOC源码学习总结
使用AnnotationConfigApplicationContext app = new AnnotationConfigApplicationContext(MyConfig.class);初始化容器后,关注refresh()方法。 之后关注registerBeanPostProcessors();与finishBeanFactoryInitialization(beanFactory);,...原创 2019-01-03 14:48:50 · 458 阅读 · 0 评论 -
SpringAOP源码学习总结
1.使用@EnableAspectJAutoProxy启用aop2.创建abstractAutoProxyCreator使用@EnableAspectJAutoProxy后, 可以看到会@Import(AspectJAutoProxyRegistrar.class)初始化Spring容器的时候会在registerBeanPostProcessors() 遍历实现ordered接口的bean...原创 2019-01-03 14:09:03 · 319 阅读 · 0 评论 -
SpringMVC容器加载流程总结
流程图流程1.由于Servlet 3.0 的设计, 会自动扫描META-INF/services下的javax.servlet.ServletContainerInitializer实现。spring-web的实现是SpringServletContainerInitializer。自定义META-INF/services+实现ServletContainerInitializer可以代替w...原创 2019-01-22 17:36:50 · 628 阅读 · 1 评论