`
uuu999ggg
  • 浏览: 42575 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

spring 源码 窥视一

阅读更多
这段时间准备读下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);
		}
	}

这里不太理解..明天继续
分享到:
评论
1 楼 superysy 2012-03-05  
买本spring技术内幕吧  研究源码的书

相关推荐

    spring 源码中文注释

    总的来说,"spring 源码中文注释"是一个宝贵的资源,它将带领我们走进Spring的内部世界,揭示那些在日常开发中看似透明的机制。通过学习源码,我们可以更全面地掌握Spring框架,提升自己的技术水平,更好地应对各种...

    spring 源码环境搭建

    "spring 源码环境搭建" 是指搭建一个可以读取和编译 Spring 源码的开发环境。Spring 是一个广泛使用的 Java 框架,理解其源码可以帮助开发者更好地使用 Spring 框架。 描述解释 想要读 Spring 源码但是不知道如何...

    Spring源码解析.zip

    总的来说,"Spring源码解析"这个压缩包为我们提供了一个系统性学习Spring源码的途径。通过深入学习和理解Spring的IoC、AOP以及事务管理的源码,我们可以提升对Spring框架的掌握程度,进而提高我们的开发能力和问题...

    Spring源码分析.pdf

    Spring 源码分析 Spring 框架是 Java 语言中最流行的开源框架之一,它提供了一个强大且灵活的基础设施来构建企业级应用程序。在 Spring 框架中,IOC 容器扮演着核心角色,本文将深入分析 Spring 源码,了解 IOC ...

    Spring源码深度解析第二版

    第1章 Spring整体架构和环境搭建 1.1 Spring的整体架构 Spring框架的整体架构主要包括了核心容器、AOP、Web模块、DAO模块、ORM模块和测试模块等六个主要部分。其中,核心容器是Spring框架的核心部分,负责管理Bean...

    spring源码注释中文

    1. **Core Container(核心容器)**:这是 Spring 的基础,包括 Beans 模块和 Core 模块。Beans 模块提供了依赖注入(Dependency Injection, DI)功能,它是 Spring 框架的核心,允许开发者创建可配置和可管理的对象...

    spring源码中英文注释

    1. **依赖注入(Dependency Injection, DI)**:Spring的核心特性之一,允许组件之间解耦。DI通过容器管理组件的依赖关系,而不是由组件自身负责查找和管理。在源码中,你可以看到`ApplicationContext`如何创建bean...

    构建为eclipse项目的spring源码

    Spring框架是Java开发中最常用的轻量级开源框架之一,它为开发者提供了丰富的功能,包括依赖注入、面向切面编程、事务管理、数据访问等。在Eclipse中构建Spring源码项目,可以帮助我们深入理解Spring的工作原理,...

    spring源码分析(1-10)

    1. **Spring 事务处理**:Spring 提供了声明式事务管理,允许开发者在配置文件中定义事务边界,无需在业务逻辑代码中显式控制事务开始、提交和回滚。它主要基于AOP代理来实现,通过TransactionInterceptor拦截器进行...

    spring源码

    1. 表现层(Presentation Layer):通常由Spring MVC的Controller组件负责。Controller接收HTTP请求,处理用户交互,调用业务逻辑,然后将结果转发到视图进行渲染。Controller通过@RequestMapping注解与URL路径绑定...

    4-5 Spring 源码深度剖析(一).rar

    Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring ...

    spring源码(注释+测试版)

    1. **spring-core**:这是Spring框架的基础模块,包含了核心的工具类和资源处理能力。如BeanFactory接口和ApplicationContext接口,它们是Spring容器的核心,负责创建、管理和装配对象。此外,还提供了IoC容器的基础...

    spring源码包.zip

    《Spring框架核心模块深度解析》 Spring框架是Java开发领域中的一个重要组成部分,它以其强大的功能和灵活的设计赢得了广泛的赞誉。...无论是新手还是经验丰富的开发者,理解Spring的源码都将是一次宝贵的进阶之旅。

    4-8 Spring 源码深度剖析(四).rar

    Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring ...

    4-7 Spring 源码深度剖析(三).rar

    Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring 源码深度剖析Spring ...

    idea+gradle构建spring源码环境.docx

    1. Spring 源码可以通过直接下载 zip 文件或使用 Git 克隆的方式获取。 2. Gradle 是一个基于 Groovy 语言的构建工具,用于构建和管理项目依赖项。 3. 在 Spring 源码目录下,有一个名为 `gradle` 的目录,其中包含...

    Spring源码解读

    spring源码,spring源码,spring源码,spring源码,spring源码,spring源码,pring源码,spring源码,spring源码,spring源码,spring源码,spring源码,spring源码,pring源码,pring源码,pring源码,pring源码,...

    spring揭秘 附带spring源码获取方式

    最近在看spring源码 搜集了这一本大家都推荐的《spring揭秘》PDF 非常不错,同时附带spring源码下载地址 以及编译方式,照着做就可以,本人已经测试; ps spring 涉及动态代理、反射、设计模式之类的先弄懂再看,...

    Tom_深入分析Spring源码

    通过深入阅读和分析Spring源码,不仅可以提升我们的技术能力,还能培养我们对软件设计原则和模式的理解,为成为一名更优秀的开发者奠定基础。Tom老师的这份资料无疑是一份宝贵的资源,它将引导我们逐步揭开Spring的...

    spring源码报错缺失的两个包

    1. `spring-cglib-repack-3.2.4.jar`: CGlib是一个强大的高性能的代码生成库,它在许多AOP(面向切面编程)的实现中被使用,比如Spring AOP。CGlib可以动态地生成子类,增强已有对象的功能,而无需修改源代码。在...

Global site tag (gtag.js) - Google Analytics