spring源码学习(1) -- BeanDefinition的学习

原创 2018年04月16日 22:58:42

BeanDefinition

BeanDefinition作为定义springBean文件中bean的接口,可以说是bean的抽象数据结构,它包括属性参数,构造器参数,以及其他具体的参数。

AbstractBeanDefinition

AbstractBeanDefinition 采用配置文件生成的抽象类,保存一个bean的所有通用属性。
这里写图片描述

AbstractBeanDefinition的继承

这里写图片描述
- AttributeAccessor
类似于map,具有保存和访问name/value属性的能力
- BeanMetadataElement
具有访问source(配置源)的能力

这里写图片描述

RootBeanDefinition,ChildBeanDefinition,GenericBeanDefinition均继承了AbstractBeanDefiniton,其中BeanDefinition是配置文件元素标签在容器中内部表示形式。元素标签拥有class、scope、lazy-init等配置属性,BeanDefinition则提供了相应的beanClass、scope、lazyInit属性,BeanDefinition和中的属性是一一对应的。其中RootBeanDefinition是最常用的实现类,它对应一般性的元素标签,GenericBeanDefinition是自2.5以后新加入的bean文件配置属性定义类,是一站式服务类。在配置文件中可以定义父和子,父用RootBeanDefinition表示,而子用ChildBeanDefiniton表示,而没有父的就使用RootBeanDefinition表示。AbstractBeanDefinition对两者共同的类信息进行抽象。

  • ScannedGenericBeanDefinition
  • AnnotatedGenericBeanDefinion
  • ConfigurationClassBeanDefinition

BeanDefinitionHolder

这里写图片描述
BeanDefinitionHolder,简单来说其就是一个BeanDefinition的持有者,其定义了一下变量(包括对bean的信息描述、bean的名字、bean的别名),并对以下变量提供get和set操作。

Spring MVC 入门学习视频

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。
  • 2015年05月29日 10:46

spring源码学习(1) --BeanDefinition学习

BeanDefinitionBeanDefinition作为定义springBean文件中bean的接口,可以说是bean的抽象数据结构,它包括属性参数,构造器参数,以及其他具体的参数。 ...
  • DFL_always
  • DFL_always
  • 2016-12-13 15:39:07
  • 2104

【Spring源码--IOC容器的实现】(三)BeanDefinition的载入和解析【I】

一步步解析源码,本篇文章分析到Xml中bean常用配置的解析
  • u013185616
  • u013185616
  • 2016-08-15 21:38:14
  • 1981

Spring 源码之 BeanDefinition阅读

Spring容器启动的过程中,会将Bean解析成Spring内部的BeanDefinition结构
  • lh513828570
  • lh513828570
  • 2017-07-01 19:36:25
  • 308

Spring源码阅读 --BeanDefinition

Spring是这样描述BeanDefinition的: 一个BeanDefinition描述了一个bean实例,拥有属性值,构造参数值和具体实现提供的其他信息。 这仅仅只是一个最小接口:主要的...
  • jiaotuwoaini
  • jiaotuwoaini
  • 2016-06-06 16:17:00
  • 2405

SPRING源码学习之路(二)

上一篇,已经对IOC容器的初始化过程有个大体认识,接着看IOC容器的依赖注入。       依赖注入的触发是在用户第一次向容器索要Bean时才触发,当然也可以设置lazy-init让容器提前完成B...
  • jin5203344
  • jin5203344
  • 2017-03-09 15:13:02
  • 825

Spring源码阅读之IoC容器初始化3 -- BeanDefinition在IoC容器中的注册

注1:Spring源码基于Spring3.1版本 注2:参考《Spring技术内幕》第二版 前面分析了IoC容器初始化过程中的Resource资源定位和BeanDefinition的载入与...
  • zhangyihui1986
  • zhangyihui1986
  • 2013-04-18 16:46:07
  • 3381

Spring源码学习文档,绝对值得好好研究~~

  • 2011年05月10日 10:08
  • 186KB
  • 下载

SPRING源码学习之路(一)

结合《Spring技术内幕:深入解析SPRING架构与设计原理》这本书开启Spring学习之路。 ps:之前其实已经看过一部分了,但是也就是看过,一看而过了。o(╯□╰)o 结合FileSyste...
  • jin5203344
  • jin5203344
  • 2017-03-08 09:50:47
  • 274

spring源码学习环境搭建

spring 源码下载:https://github.com/spring-projects/spring-framework?source=cc# 学习源码是一件非常耗时费力的事情,需要有...
  • u014638988
  • u014638988
  • 2015-09-02 15:24:46
  • 829
收藏助手
不良信息举报
您举报文章:spring源码学习(1) -- BeanDefinition的学习
举报原因:
原因补充:

(最多只允许输入30个字)