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

来自姬鸿昌的知识库
跳到导航 跳到搜索
第15行: 第15行:
 
表示一个 bean 的作用域,比如:
 
表示一个 bean 的作用域,比如:
  
scope 等于 singleton,该 bean 就是一个单例 bean;
+
scope 等于 '''singleton''',该 bean 就是一个单例 bean;
  
scope 等于 prototype,该 bean 就是一个原型 bean。
+
scope 等于 '''prototype''',该 bean 就是一个原型 bean。
  
isLazy
+
==== isLazy ====
 +
表示一个 bean 是不是需要懒加载,原型 bean 的 isLazy 属性不起作用,
 +
 
 +
懒加载的单例 bean,会在第一次 getBean 的时候生成该 bean,
 +
 
 +
非懒加载的单例 bean 则会在 Spring 启动过程中直接生成好。
  
 
dependsOn
 
dependsOn

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

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

primary

initMethodName