“什么是 BeanDefinition”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
第26行: 第26行:
 
非懒加载的单例 bean 则会在 Spring 启动过程中直接生成好。
 
非懒加载的单例 bean 则会在 Spring 启动过程中直接生成好。
  
dependsOn
+
==== dependsOn ====
 
+
表示一个 bean 在创建之前所依赖的其他 bean,在一个 bean 创建之前,它所依赖的这些 bean 得先全部创建好。
primary
 
  
 +
==== primary ====
 
initMethodName
 
initMethodName

2024年7月21日 (日) 01:45的版本

BeanDefinition 表示 Bean 定义,

Spring 根据 BeanDefinition 来创建 Bean 对象,

BeanDefinition 有很多的属性用来描述 Bean 对象。

BeanDefinition 是 Spring 中非常核心的概念。

BeanDefinition 中重要的属性

beanClass

表示一个 bean 的类型,比如:UserService.class、OrderService.class,Spring 在创建 Bean 的过程中会根据此属性来实例化得到对象。

scope

表示一个 bean 的作用域,比如:

scope 等于 singleton,该 bean 就是一个单例 bean;

scope 等于 prototype,该 bean 就是一个原型 bean。

isLazy

表示一个 bean 是不是需要懒加载,原型 bean 的 isLazy 属性不起作用,

懒加载的单例 bean,会在第一次 getBean 的时候生成该 bean,

非懒加载的单例 bean 则会在 Spring 启动过程中直接生成好。

dependsOn

表示一个 bean 在创建之前所依赖的其他 bean,在一个 bean 创建之前,它所依赖的这些 bean 得先全部创建好。

primary

initMethodName