2、Spring 基础系列之 Bean

1、Spring 基础系列之 IoC
2、Spring 基础系列之 Bean

概念

所有注册到容器中的对象,spring统一称为bean

Bean相关的属性及设置

lazyInit 延迟初始化

指定bean是否进行延迟初始化,值可以是true或false
可以在 @ComponentScan 注解中指定
或是xml配置的beans元素中 设置default-lazy-init属性

autowire 注入方式

byName 根据属性名称自动查找相关的依赖对象注入
byType 根据属性类型自动查找相关的依赖对象注入
constructor 类似byType,但是不是通过setter注入,而是通过构造方式注入
autodetect 自动选择byType或constructor注入方式,如果对象拥有默认无参数的构造方法,容器会优先考虑byType的自动绑定模式。否则,会使用constructor模式。
当然,如果通过构造方法注入绑定后还有其他属性没有绑定,容器也会使用byType对剩余的对象属性进行自动绑定。

scope

singleton 单例模式,在IoC容器中只存在一个实例,所有对象共享这个实例,在对象初始化后一直存在有IoC容器中,直到容器结束运行。
prototype 容器每次在对象调用时返回一个新的实例,IoC容器不在持有这个对象的引用,生命周期由调用方管理。

以下三种类型在2.0以后新增,只能在web应用中使用
request 依赖于HttpRequest的生命周期,HTTP请求结束后对象的生命周期也将结束。
session 每个新的session将会创建新的对象,和session生命周期一致。
global session 针对portlet的应用,它映射到portlet的global范围的session。如果在普通的基于servlet的Web应用中使用了这个类型的scope,容器会将其作为普通的session类型的scope对待。

你可能感兴趣的:(2、Spring 基础系列之 Bean)