元素的常见属性与子元素
Spring可以看作是一个大型工厂,这个工厂的作用就是生产和管理Spring容器中的Bean。如果想要在项目中使用这个工厂,就需要开发者对Spring的配置文件进行配置。
Spring容器支持XML和Properties两种格式的配置文件,在实际开发中,最常用的就是XML格式的配置方式。这种配置方式通过XML文件来注册并管理Bean之间的依赖关系,接下来将使用XML文件来注册并管理Bean的属性和定义进行详细的讲解。
在Spring中,XML配置文件的根元素是<beans>,<beans>中包含了多个<bean>子元素,每一个<bean>子元素中定义了一个Bean,并描述了该Bean如何被装配到Spring容器中。
<Bean>元素中同样包含了多个属性以及子元素,其常用属性及子元素如表所示:
属性或子元素名称 | 描述 |
---|---|
id | 是一个Bean的唯一标识符,<>Spring容器对Bean的配置、管理都通过该属性来完成 |
name | Spring容器同样可以通过此属性对容器中的Bean进行配置和管理,name属性可以为Bean指定多个名称,每个名称之间用逗号或者分号隔开 |
class | gaishuxingzhidingleBean的具体实现类,它必须是一个完整的类名,使用类的全限名称 |
scope | 用来设定Bean实例的作用域,其属性值有:singleton(单例)、prototype(原型)、request、session、global Session、application、和websocket。其默认值为singleton |
constructor-arg | <bean>元素的子元素,可以使用此元素传入构造参数进行实例化,该元素的index属性指定构造参数的序号(从0开始),type属性指定构造参数的类型,参数值可以通过ref属性或value属性直接指定,也可通过ref或value子元素指定 |
property | <bean> |
ref | <property>、<constructor-arg>等元素的属性或子属性,可以用于指定对Bean工厂中某个Bean实例的引用 |
value | <property>、<constructor-arg>等元素的属性或子属性,可以用于直接指定一个常量值 |
list | 用于封装List或数组类型的依赖注入 |
set | 用于封装Set类型属性的依赖注入 |
map | 用于封装Map类型的属性的依赖注入 |
entry | <map>元素的子元素,用于设置一个键值对。其key属性指定字符串类型的键值,ref或value子元素指定其值,也可以通过value-ref或value属性指定其值 |