ssm:spring控制反转-----浅谈配置文件中的Bean的属性

Bean可以简单的理解为,就是一个在spring配置文件中实例化的对象

1.bean有多个属性及子节点
spring配置文件的根节点beans的下一级节点是bean,用于创建java类的实例化对象(俗称Bean)

<beans>

	<bean id="..." class="..." scope="..." autowire="...">
	
		<property name="..." value="..." ref="..." />
		
		<contructor-arg name="..." value="..." />
		
	</bean>
	
</beans>

id:
唯一标识一个bean,相当于创建实例化对象的名称。

class:
全限定类名,该类用于创建实例化对象。

scope:
bean的作用范围,常见的取值有singleton(单例),prototype(原型)
request,session,globalSession,application,websocket。
默认值是singleton,表示每次调用getBean()方法获取的Bean都是同一个对象。

autowire:
为域属性隐式的自动注入(又称为自动装配),一般可分为两种方式
byName:根据名称自动注入
byType:根据类型自动注入

property:
是bean节点的子节点,用于调用setter方法给Bean的各个属性赋值。

contructor-arg:
是bean节点的子节点,用于传递构造方法的参数,再调用构造方法实现Bean的实例化。

name:
与value联合使用,即k=v(键值形式)

value:
既可以作为property,contructor-arg节点的属性,也可以作为它们的子节点,用于直接指定一个常量值。

ref:
property,contructor-arg这两种节点的属性或子节点,用于引用另一个Bean

set:
用于给Set集合类型的属性赋值。

list:
用于给List集合类型的属性赋值。

map:
用于给Map集合类型的属性赋值。

2.Bean的作用域:即scpoe的值
当通过spring容器创建一个Bean实例时,不仅可以完成Bean的实例化,还可以使用scope属性为Bean指定特定的作用域。
spring支持5种作用域。
singleton:单例模式
在整个spring容器中,默认使用单例模式,使用singleton定义的Bean将是单例的。
即只有一个实例,第二次以后调用的Bean于第一次调用的是同一个对象。
该Bean是在容器被创建时即装配好了。

prototype:原型模式
即每次使用getBean()方法获取同一个Bean实例都是一个新的实例。
对于scope为prototype的原型模式,在代码使用该Bean实例时才对其进行装配。

request:
对于每次HTTP请求,都将产生一个不同的Bean实例。

session:
对于每个不同的HTTP session,都将产生一个不同的Bean实例。

globalSession:
所有HTTP Session共享同一个Bean实例。

注意:
当scope的值为singleton时,每次getBean()方法获取的对象都是同一个

而当scope属性的值为prototype时,每次getBean()方法获取的对象都是一个新的对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值