BeanDefinition是spring容器的核心数据接口,定义了bean的依赖关系以及初始化信息等

package org.springframework.beans.factory.config;import org.springframework.beans.BeanMetadataElement;
import org.springframework.beans.MutablePropertyValues;
import org.springframework.core.AttributeAccessor;
import org.springframework.lang.Nullable;/** 一个BeanDefinition描述了一个bean实例,实例包含属性值,构造函数参数值,以及更多实现信息* 这只是一个最小的接口:主要目的是允许就像PropertyPlaceholderConfigurer一样的BeanFactoryPostProcessor* 修改属性值以及其他的bean元数据*/
public interface BeanDefinition extends AttributeAccessor, BeanMetadataElement {/*** 单例Scope的标识符*/String SCOPE_SINGLETON = ConfigurableBeanFactory.SCOPE_SINGLETON;/*** 原型Scope的标识符*/String SCOPE_PROTOTYPE = ConfigurableBeanFactory.SCOPE_PROTOTYPE;/*** 角色提示,表明BeanDefinition是应用程序的主要部分,通常对应于用户定义的Bean*/int ROLE_APPLICATION = 0;/*** 角色提示,表明BeanDefinition是一些较大配置的支持部分,通常是外部org.springframework.beans.factory.parsing.ComponentDefi

BeanDefinition相关推荐

  1. Spring源码系列:BeanDefinition源码解析

    Bean的定义主要由BeanDefinition来描述的.作为Spring中用于包装Bean的数据结构,今天就来看看它的面纱下的真容吧. 首先就是BeanDefinition的类定义: public ...

  2. Spring - BeanDefinition的注册顺序 DeffredImportSelector

    文章目录 BeanDefinition的注册顺序 DeffredImportSelector BeanDefinition的注册顺序 首先是 @ComponentScan扫描: @Component ...

  3. Spring5源码 - 03 普通对象对应的BeanDefinition是如何存入DefaultListableBeanFactory#beanDefinitionMap 源码分析

    文章目录 Pre Spring处理bdmap 的理念 源码分析 Step1 : `this();` [初始化BeanFactory] register(componentClasses); [注册be ...

  4. Spring5源码 - 02 Bean和Java对象的区别与猜想验证BeanDefinition

    文章目录 问题 加载流程 BeanFactoryPostProcessor的执行时机 Code 问题 Spring创建的Bean 和 我们提供的Class对象 有什么关系吗? 一定是我们提供的这个对象 ...

  5. BeanDefinition的载入和解析

    概念 第二个过程是BeanDefinition的载入.这个载入过程是把用户定义好的Bean表示成IoC容器内部的数据结构,而这个容器内部的数据结构就是BeanDefinition.具体来说,这个Bea ...

  6. Spring IoC 源码系列(一)BeanDefinition 初始化与注册

    一.BeanDefinition 1.1 什么是 BeanDefinition 在一般的 Spring 项目中,主要通过 XML 的方式配置 bean,而 BeanDefinition 就是 XML ...

  7. beandefinition与beanfactory

    前面在讲到bean的生命周期时,提到了beandefinition,这个东西是用来创建bean对象的,beandefinition有很多重要属性:1.beanClass 2.scope 3.isLaz ...

  8. Spring 核心容器类BeanDefinition

    SpringIOC 容器管理了我们定义的各种Bean 对象及其相互的关系,Bean 对象在Spring 实现中是以BeanDefinition 来描述的,其继承体系如下:

  9. 如何将BeanDefinition注册到IoC容器?

    // 3. 通过 @Import 来进行导入 @Import(AnnotationBeanDefinitionDemo.Config.class) public class AnnotationBea ...

  10. BeanDefinition构建示例

    public class BeanDefinitionCreationDemo {public static void main(String[] args) {// 1.通过 BeanDefinit ...

最新文章

  1. 程序员吐槽:去再好的互联网公司也就是个打工仔,还累出一身病
  2. C# 检测文件是否被其他进程占用
  3. mysql windows编译_Windows平台下编译Mysql源码 | 学步园
  4. 父与子的编程之旅:与小卡特一起学Python.pdf
  5. 自学python在家怎么上班_【经验分享】转行如何自学Python并且找到工作,分享自己心得...
  6. nginx基础概念(100%)之lingering_close
  7. android audio 自动播放,HTML5之audio无法自动播放的问题
  8. 数据库startup报错_SQL Server数据库恢复过程内部–数据库STARTUP命令
  9. 循环buffer的实现_Go并发编程-Channel的设计实现
  10. 计算机网络技术教研活动,(2012.09.27)计算机网络技术专业教研活动(文本).doc...
  11. hzk16 8 16c语言示例,[资料共享]汉字库HZK16的使用,强烈推荐: 486959c6.rar
  12. ISO27001体系的价值(详解)
  13. mysql汽车网站数据库设计_基于数据库和JAVA的网上汽车租赁管理系统的设计(MySQL)...
  14. IBM supervessel power云平台 之 crontab定时任务篇
  15. 使用mybatisplus进行分页查询total总为0的原因
  16. 【个人提升】如何克服惰性
  17. 星之轨迹 服务器维护,英雄传说星之轨迹结束运营公告是什么_内容介绍_3DM页游...
  18. 微信公众号微信小程序申请出现的问题
  19. 前端从后端导出excel表格文件的两种方法
  20. OC小游戏之英雄打怪兽

热门文章

  1. 鸿蒙系统会不会吸收linux,鸿蒙系统是不是别人不给它适配?
  2. 谷歌浏览器 应用程序无法启动,因为应用程序的并行配置不正确。请参阅应用程序事件日志,或使用命令行sxstrace.exe工具
  3. Android设备双屏显示
  4. 战斗机机动动作分类与模型
  5. PythonQt——yolov5手势识别隔空操纵车载音乐播放器
  6. 【程序分析】数据依赖、控制依赖、程序依赖图PDG、系统依赖图SDG
  7. 主流浏览器上HTML5多媒体播放器的实现以及加速方式
  8. 华清远见重庆中心-移动互联网应用
  9. 内存不能为“read - written”的修复方法
  10. 分割与合并bin文件