Spring-bean标签的常用属性

id

id标签是bean的唯一标识,IoC容器中bean的id标签不能重复,否则报错。

name

bean的名称标识符,跟id一样不能重复,否则会报错。。

class

定义bean的类路径,只想classpath下类所在的位置。

factory-method

工厂方法属性,通过该属性可以调用工厂指定的静态方法创建bean。

<bean id="user2" class="test.Factory" factory-method="getUserStance"></bean>

factory-bean

生成bean的工厂对象,通过改属性实例化工厂并调用实例化后的工厂的方法创建bean。

<bean id="factory" class="test.Factory" lazy-init="default"></bean>
<bean id="user3" class="test.Factory" factory-bean="factory" factory-method="getUserStance2"></bean>

init-method

初始化方法,定义bean实例化后调用的初始化方法,bean实例化后调用构造方法后调用初始化方法。init-method指定的是一个无参的方法,否则会报错。

destory-method

销毁方法,定义bean销毁之前调用的销毁方法,AbstractApplicationContext容器关闭后,会调用销毁方法后再销毁bean。destory-method和init-method一样,指定的是一个无参的方法,否则会报错。

scope

scope属性表示bean的作用范围,scope有4个值:

singleton:表示整个IOC容器共享一个Bean,也就是说每次说每次通过getBean获取的bean都是同一个。

prototype:每次对该bean请求(将其注入到另一个bean中,或者以程序的方式调用容器的getBean()方法)时都会创建一个新的bean实例。

request:每次HTTP请求将会生成各自的bean实例

session:每次会话请求对应一个bean实例

singleton和prototype经常使用,request和session基本不使用。

autowired

autowire表示bean的自动装配,autowire的值有no,byType,byName

no:不自动装配

byType:根据类型自动装配

byName:根据属性名自动装配

lazy-init

<bean id="factory" class="test.Factory" lazy-init="default"></bean>

延迟初始化,当lazy-init值为true,只有使用getBean()获取bean时才将bean实例化。lazy-init默认值为false。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值