这一章我们来分析Spring是如何解析<bena></bean>生成BeanDefinition的,进入 第9行,解析<bean/>节点,进入processBeanDefinition方法 第6行,创建了BeanDefinitionHolder实例(此实例包含了BeanDefinition、Bean ...
分类:
编程语言 时间:
2018-04-08 18:13:09
阅读次数:
117
承接前文 "Spring源码情操陶冶 task:executor解析器" ,在前文基础上解析我们常用的spring中的定时任务的节点配置。 备注:此文建立在spring的4.2.3.RELEASE版本 附例 Spring中的定时任务基本配置样例如下 其中 的配置是不必须的,并且由上述配置可知Spri ...
分类:
编程语言 时间:
2018-04-07 17:38:41
阅读次数:
217
最近看了一下Spring源码加载的简装版本,为了更好的理解,所以在绘图的基础上,进行了一些总结。(图画是为了理解和便于记忆Spring架构) Spring的核心是IOC(控制反转)和AOP(面向切面编程),首先我们先一步一步的来了解IOC的实现: 一:首先是第一个模型:Model1: 种子 = Be ...
分类:
编程语言 时间:
2018-04-05 01:20:15
阅读次数:
241
对于配置文件,解析和装饰完成之后,对于得到的beanDefinition已经可以满足后续的使用要求了,还剩下注册,也就是processBeanDefinition函数中的BeanDefinitionReaderUtils.registerBeanDefinition(bdHolder,getRead ...
分类:
编程语言 时间:
2018-04-03 10:53:53
阅读次数:
611
接上一章,我们来具体分析下configureAndRefreshWebApplicationContext(ConfigurableWebApplicationContext wac, ServletContext sc)方法 ...
分类:
编程语言 时间:
2018-03-30 18:26:51
阅读次数:
166
Spring的标签包括默认标签和自定义标签两种 默认标签的解析方法: ...
分类:
编程语言 时间:
2018-03-30 14:15:22
阅读次数:
214
我们虽然获得了Bean的描述信息BeanDefinition,但是什么时候才会真正的实例化这些Bean呢。其实一共有两个触发点,但是最后实际上调用的是同一个方法。 第一个:在AbstractApplicationContext的refresh()方法中,容器会初始化lazy-init=false的b ...
分类:
编程语言 时间:
2018-03-27 01:49:21
阅读次数:
217
一、何谓BeanProcessor BeanProcessor是SpringFramework里非常重要的核心接口之一,我先贴出一段源代码: /* * Copyright 2002-2015 the original author or authors. * * Licensed under the ...
分类:
编程语言 时间:
2018-03-26 17:25:28
阅读次数:
240
开发环境: 开发环境: 系统:windows7.64位;jdk版本:1.7; eclipse版本:Mars Release (4.5.0); Gradle版本:gradle-2.4.1.2; Spring源码:3.2x。 下载Spring源码 下载Spring源码 2.下载成功后打开压缩包解压到指定 ...
分类:
编程语言 时间:
2018-03-08 17:22:35
阅读次数:
240
为了最大程度地贴近Spring源码并进行学习,一种比较直接的做法是:直接在Spring源码中加入Demo代码,并进行调试。 参照以前使用Spring的经验,Spring最简单的使用方法是:一个实体类、一个Xml配置文件、再加个测试方法。而对于脱离源码的使用,需要至少引入 spring-context ...
分类:
编程语言 时间:
2018-03-08 00:20:06
阅读次数:
245