这段时间准备读下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路径绑定...
Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring ...
1. **spring-core**:这是Spring框架的基础模块,包含了核心的工具类和资源处理能力。如BeanFactory接口和ApplicationContext接口,它们是Spring容器的核心,负责创建、管理和装配对象。此外,还提供了IoC容器的基础...
《Spring框架核心模块深度解析》 Spring框架是Java开发领域中的一个重要组成部分,它以其强大的功能和灵活的设计赢得了广泛的赞誉。...无论是新手还是经验丰富的开发者,理解Spring的源码都将是一次宝贵的进阶之旅。
Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring ...
Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析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可以动态地生成子类,增强已有对象的功能,而无需修改源代码。在...