“什么是 BeanDefinition”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) |
Jihongchang(讨论 | 贡献) (→scope) |
||
第15行: | 第15行: | ||
表示一个 bean 的作用域,比如: | 表示一个 bean 的作用域,比如: | ||
− | scope 等于 | + | scope 等于 '''singleton''',该 bean 就是一个单例 bean; |
− | scope 等于 | + | 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