- 博客(5)
- 资源 (2)
- 收藏
- 关注
原创 Spring容器初始化之BeanFactoryPostProcessor和BeanPostProcessor
本文仍然以ClasspathXmlApplicationContext为入口进行记录,通过之前对Spring的学习,我们已知ClasspathXmlApplicationContext构造方法中调用的this.refresh()方法是整个Spring容器初始化的核心方法,从本章开始,我们将进入该方法,并对其中重要的步骤及对开发人员开放的扩展点做详细记录。 一、invokeBeanFactoryPostProcessors(beanFactory) 进入refresh()方......
2021-08-19 23:27:43 460
原创 Spring 基于ClassPathXmlApplicationContext的初始化流程04-<context:component-scan>包扫描过程
在上一小节中,记录了Spring自定义标签的加载过程,简单来说就是Spring会为每一个标签维护一个Parser类,在各自的Parser类中实现自己的parse()方法。在本小节中将记录Spring通过<context:component-scan>标签进行包扫描的整个过程。本小节的入口是ComponentScanBeanDefinitionParser这个类。 这个类的加载过程在上一节中已经详细说明,不再赘述,直接进入这个类的parse()方法。 @Nullable
2021-08-16 22:53:12 335
原创 Spring 基于ClassPathXmlApplicationContext的初始化流程03-xml自定义标签解析过程
本文中主要记录Spring自定义标签的解析过程,我们先回到标签解析的方法中 DefaultBeanDefinitionDocumentReader protected void parseBeanDefinitions(Element root, BeanDefinitionParserDelegate delegate) { if (delegate.isDefaultNamespace(root)) { NodeList nl = root.getChild
2021-02-02 11:35:00 288
原创 Spring 基于ClassPathXmlApplicationContext的初始化流程02-xml默认标签解析过程
上一小节中,我们最终跟踪到了DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(Element root, BeanDefinitionParserDelegate delegate)方法。在该方法中,进行了两部分的标签解析,一个是默认标签解析,一个是自定义标签解析,本节我们先看默认标签解析,进入到默认标签解析方法: DefaultBeanDefinitionDocumentReader private void...
2021-01-21 14:34:39 198 3
原创 Spring 基于ClassPathXmlApplicationContext的初始化流程01-xml标签解析整体流程
本文以ClassPathXmlApplicationContext初始化流程为例
2021-01-18 10:32:34 231
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人