《spring源码深度解析》第三章默认标签的解析

hellohello      2022-04-07     799

关键词:

  上一章提到了,默认标签和自定义标签要分开解析。本章重点介绍默认标签的解析。在 DefaultBeanDefinitionDocumentReader 中:

private void parseDefaultElement(Element ele, BeanDefinitionParserDelegate delegate) {
    if (delegate.nodeNameEquals(ele, IMPORT_ELEMENT)) {
        importBeanDefinitionResource(ele);
    }
    else if (delegate.nodeNameEquals(ele, ALIAS_ELEMENT)) {
        processAliasRegistration(ele);
    }
    else if (delegate.nodeNameEquals(ele, BEAN_ELEMENT)) {
        processBeanDefinition(ele, delegate);
    }
    else if (delegate.nodeNameEquals(ele, NESTED_BEANS_ELEMENT)) {
        // recurse
        doRegisterBeanDefinitions(ele);
    }
}

  

 

spring源码分析bean标签的解析及注册

摘要:本文结合《Spring源码深度解析》来分析Spring5.0.6版本的源代码。若有描述错误之处,欢迎指正。 在上一篇中提到过Spring中的标签包括默认标签和自定义标签两种,而两种标签的用法以及解析方式存在着很大的不同。本... 查看详情

spring源码解析-默认标签解析-2

1.默认标签判断类型分别解析importaliasbean(重点)beans//默认标签解析privatevoidparseDefaultElement(Elementele,BeanDefinitionParserDelegatedelegate){//import标签解析重要程度1,可看可不看if(delegate.nodeNameEquals(ele,IMPORT_ELEMENT)){imp 查看详情

3spring源码学习~默认标签的解析之bean标签解析(代码片段)

默认标签的解析之Bean标签解析前言第二章讲过Spring中的标签包括默认标签和自定义标签两种,而两种标签的用法和解析存在着很大不同,本章跟大家一起来学习下默认标签的解析过程。默认标签是在DefaultBeanDefinitionDocumen... 查看详情

spring读源码系列02----默认标签解析过程

Spring读源码系列02----默认标签解析过程Bean标签的解析及注册DefaultBeanDefinitionDocumentReader#processBeanDefinition----对Bean标签进行处理的方法BeanDefinitionParserDelegate#parseBeanDefinitionElement从xml配置信息--->BeanDefinitionBean 查看详情

spring源码学习默认标签的解析

默认标签的解析分为四种:import,alias,bean,beans,在下面函数中进行1privatevoidparseDefaultElement(Elementele,BeanDefinitionParserDelegatedelegate){2if(delegate.nodeNameEquals(ele,IMPORT_ELEMENT)){3importBeanDefinitionResou 查看详情

从零开始学spring源码之xml解析:默认标签解析

  上一篇说到spring的默认标签和自定义标签,发现这里面东西还蛮多的。决定还是拆开来写。今天就来好好聊聊这两块是怎么玩的,首先我们先看看默认标签:privatevoidparseDefaultElement(Elementele,BeanDefinitionParserDelegatedelegate){/... 查看详情

4spring源码学习~默认标签的解析之bean标签注册(代码片段)

默认标签的解析之Bean标签注册一、注册解析的BeanDefinition关注前面的章节,我们已经对配置文件,进行了解析,得到了BeanDefinition对象,接下来的工作就是注册了。我们来看processBeanDefinition函数中的以下代码:... 查看详情

spring源码解析——自定义标签解析

...sd是什么不知道的自行百度),如图2:图23.第三步,生成spring.handlers和spring.schemas文件,一定要放在resources/META-INF下面,因为解析的时候只会到这个目录下面去找,先看下spring.handlers,如图3 查看详情

6spring源码学习~默认标签的解析之import标签的解析(代码片段)

import标签的解析与注册一、import标签的使用对于Spring配置文件的编写,经历过大型项目的人,都有种恐惧心理,因为随着项目业务的增多,配置文件会急剧膨胀,把所有配置写在同一个文件里,显然会对配... 查看详情

7spring源码学习~默认标签的解析之嵌入式beans标签的解析(代码片段)

嵌入式beans标签的解析一、嵌入式beans标签的使用嵌入式beans标签,它非常类似于import标签所提供的的功能,可以把它看做嵌在配置文件中的另一个配置文件。<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns... 查看详情

5spring源码学习~默认标签alias标签的解析与注册(代码片段)

alias标签的解析一、alias标签的使用<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/200 查看详情

spring源码解析-自定义标签解析和spi机制-3

...架启动时加载到缓存,最初的版本是jdk中实现的,后来在spring、springboot、dubbo中都有相应的使用。3.JDK的SPI机制:META-INF下 查看详情

spring源码深度解析

Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性的角度而言,绝大部分Java应用都可以从... 查看详情

书籍摘要-spring源码深度解析

第1章:spring整体架构和环境搭建  spring是分层的,主要分为网络层、数据库连接层、核心容器层、AOP层和测试层。   核心容器中实现了IOC和依赖注入,方法是BeanFactory。数据库连接层封装了JDBC,兼容多种ORM框架。 第2章:... 查看详情

读《spring源码深度解析》随记

  bean是Spring中最核心的东西,因为Spring就像是个大水桶,而bean就像是容器中的水,水桶脱离了水便也没什么用处了。   一、核心类:  1.DefaultListableBeanFactory  XmlBeanFactory继承自 DefaultListableBean... 查看详情

spring源码深度解析-《源码构建》

1、导入spring-framework-3.2.x\\spring-beans之前先导入源码spring-framework-3.2.x\\spring-core,否则报错:2、导入spring-asm-repack-5.0.4.jar和spring-cglib-repack-3.1.jarhttps://blog.csdn.net/baidu_19473529/article/details/ 查看详情

spring源码深度解析,事务案例讲解高级

Spring的整体架构Spring框架是一个分层架构,它包含一系列的功能要素,并被分为大约20个模块,如下图所示 这些模块被总结为以下几个部分:CoreContainerCoreContainer(核心容器)包含有Core、Beans、Context和ExpressionLanguage模块Core和Bean... 查看详情

[死磕spring7/43]---ioc之解析bean:解析import标签(代码片段)

[死磕Spring7/43]—IOC之解析Bean:解析import标签https://www.cmsblogs.com/article/1391375331193131008定位本编文章3/5BeanDefinitionReader,XmlBeanDefinitionReader.loadBeanDefinitions()介绍正文在博客【死磕Spring】-----IOC之注册BeanDefinition中分析到,Spring... 查看详情