这段时间准备读下spring的源码。看 别人写的代码,确实是一件难事。第一,你不清楚需求,不知道他为什么要这么写。第二,继承啊,抽象啊一层层的,可以把你搞崩溃掉。但是或多或少能学到点东西,一些以前没有碰到过的东西。
首先:baidu了下spring源码解读,找到篇文章,跟着一步步看吧。
我也从
XmlBeanFactory入手吧。
首先让我碰到了未知的几个数据结构:ConcurrentHashMap,还有几个没怎么碰到的类
ClassLoader、ResourceLoader..,泛型之类的,记下来,以后一一baidu搞懂
还有篇文章分享下
http://www.ibm.com/developerworks/cn/java/j-lo-spring-principle/index.html
不错
真是望而生畏啊,一般人哪写得出这么多继承关系
....
....
把Resource转啊转,最后用BeanDefinitionParseDelegate去解析Document.然后一个一个注册.
/**
* Parse the elements at the root level in the document:
* "import", "alias", "bean".
* @param root the DOM root element of the document
*/
protected void parseBeanDefinitions(Element root, BeanDefinitionParserDelegate delegate) {
if (delegate.isDefaultNamespace(delegate.getNamespaceURI(root))) {
NodeList nl = root.getChildNodes();
for (int i = 0; i < nl.getLength(); i++) {
Node node = nl.item(i);
if (node instanceof Element) {
Element ele = (Element) node;
String namespaceUri = delegate.getNamespaceURI(ele);
if (delegate.isDefaultNamespace(namespaceUri)) {
parseDefaultElement(ele, delegate);
}
else {
delegate.parseCustomElement(ele);
}
}
}
}
else {
delegate.parseCustomElement(root);
}
}
这里不太理解..明天继续
分享到:
相关推荐
总的来说,"spring 源码中文注释"是一个宝贵的资源,它将带领我们走进Spring的内部世界,揭示那些在日常开发中看似透明的机制。通过学习源码,我们可以更全面地掌握Spring框架,提升自己的技术水平,更好地应对各种...
"spring 源码环境搭建" 是指搭建一个可以读取和编译 Spring 源码的开发环境。Spring 是一个广泛使用的 Java 框架,理解其源码可以帮助开发者更好地使用 Spring 框架。 描述解释 想要读 Spring 源码但是不知道如何...
总的来说,"Spring源码解析"这个压缩包为我们提供了一个系统性学习Spring源码的途径。通过深入学习和理解Spring的IoC、AOP以及事务管理的源码,我们可以提升对Spring框架的掌握程度,进而提高我们的开发能力和问题...
Spring 源码分析 Spring 框架是 Java 语言中最流行的开源框架之一,它提供了一个强大且灵活的基础设施来构建企业级应用程序。在 Spring 框架中,IOC 容器扮演着核心角色,本文将深入分析 Spring 源码,了解 IOC ...
第1章 Spring整体架构和环境搭建 1.1 Spring的整体架构 Spring框架的整体架构主要包括了核心容器、AOP、Web模块、DAO模块、ORM模块和测试模块等六个主要部分。其中,核心容器是Spring框架的核心部分,负责管理Bean...
1. **Core Container(核心容器)**:这是 Spring 的基础,包括 Beans 模块和 Core 模块。Beans 模块提供了依赖注入(Dependency Injection, DI)功能,它是 Spring 框架的核心,允许开发者创建可配置和可管理的对象...
1. **依赖注入(Dependency Injection, DI)**:Spring的核心特性之一,允许组件之间解耦。DI通过容器管理组件的依赖关系,而不是由组件自身负责查找和管理。在源码中,你可以看到`ApplicationContext`如何创建bean...
Spring框架是Java开发中最常用的轻量级开源框架之一,它为开发者提供了丰富的功能,包括依赖注入、面向切面编程、事务管理、数据访问等。在Eclipse中构建Spring源码项目,可以帮助我们深入理解Spring的工作原理,...
1. **Spring 事务处理**:Spring 提供了声明式事务管理,允许开发者在配置文件中定义事务边界,无需在业务逻辑代码中显式控制事务开始、提交和回滚。它主要基于AOP代理来实现,通过TransactionInterceptor拦截器进行...
1. 表现层(Presentation Layer):通常由Spring MVC的Controller组件负责。Controller接收HTTP请求,处理用户交互,调用业务逻辑,然后将结果转发到视图进行渲染。Controller通过@RequestMapping注解与URL路径绑定...
1. **spring-core**:这是Spring框架的基础模块,包含了核心的工具类和资源处理能力。如BeanFactory接口和ApplicationContext接口,它们是Spring容器的核心,负责创建、管理和装配对象。此外,还提供了IoC容器的基础...
《Spring框架核心模块深度解析》 Spring框架是Java开发领域中的一个重要组成部分,它以其强大的功能和灵活的设计赢得了广泛的赞誉。...无论是新手还是经验丰富的开发者,理解Spring的源码都将是一次宝贵的进阶之旅。
1. Spring 源码可以通过直接下载 zip 文件或使用 Git 克隆的方式获取。 2. Gradle 是一个基于 Groovy 语言的构建工具,用于构建和管理项目依赖项。 3. 在 Spring 源码目录下,有一个名为 `gradle` 的目录,其中包含...
spring源码,spring源码,spring源码,spring源码,spring源码,spring源码,pring源码,spring源码,spring源码,spring源码,spring源码,spring源码,spring源码,pring源码,pring源码,pring源码,pring源码,...
最近在看spring源码 搜集了这一本大家都推荐的《spring揭秘》PDF 非常不错,同时附带spring源码下载地址 以及编译方式,照着做就可以,本人已经测试; ps spring 涉及动态代理、反射、设计模式之类的先弄懂再看,...
通过深入阅读和分析Spring源码,不仅可以提升我们的技术能力,还能培养我们对软件设计原则和模式的理解,为成为一名更优秀的开发者奠定基础。Tom老师的这份资料无疑是一份宝贵的资源,它将引导我们逐步揭开Spring的...
1. `spring-cglib-repack-3.2.4.jar`: CGlib是一个强大的高性能的代码生成库,它在许多AOP(面向切面编程)的实现中被使用,比如Spring AOP。CGlib可以动态地生成子类,增强已有对象的功能,而无需修改源代码。在...
本压缩包提供的“编译后的spring源码”是学习和理解Spring工作原理的宝贵资源,对于Java开发者,尤其是希望深入Spring内部机制的人来说,这是一个不可多得的学习资料。 首先,导入Eclipse是开发Java项目的标准步骤...
本篇将详细介绍如何利用提供的"Spring源码调试环境搭建工具"来构建一个有效的Spring源码调试环境。 首先,我们需要了解Spring框架的基本构成。Spring主要由核心容器(Core Container)、数据访问/集成(Data Access...
#### 一、下载Spring源码 首先,需要从官方网站或其他可靠的源获取Spring源码。本例中使用的版本为`spring-framework-3.1.0.RELEASE`,下载地址为:...