XML(常用)
Spring中,XML配置文件的根元素是<beans>
,其下包含<bean>
子元素,每个<bean>
子元素定义一个Bean,并描述该Bean如何被装配到Spring容器中。
<bean>
元素常用属性
- id:容器中Bean的唯一标识符,Spring容器对Bean的配置、管理通过该属性完成,装配Bean时根据id值获取对象。
- name:Spring容器可以通过该属性对容器中的Bean进行配置和管理,name属性可以为Bean指定多个名称,每个名称之间用逗号或分号隔开。
- class:指定Bean的具体实现类,使用对象所在类的全路径。
- scope:设定Bean实例的作用域,属性值有singleton、prototype、request、session、globalsession、application和webSocket。
<bean>
元素的子元素
- constructor-arg:使用此元素传入构造方法的参数进行实例化,type属性指定构造参数类型,参数值可通过ref属性或value属性直接指定,也可以通过ref或value子元素指定。
- property:调用Bean实例中的setter方法完成属性赋值,从而完成依赖注入。该元素的name属性指定Bean实例中的相应属性名,ref属性或value属性用于指定参数值。
- ref:
<property>
、constructor-arg
等元素的属性或子元素,可用于指定对Bean工厂中某个Bean实例的引用。 - value:
<property>
、constructor-arg
等元素的属性或子元素,可直接用于指定一个常量值。 - list:
<property>
等元素的子元素,指定bean的属性类型为List或数组类型的属性值。 - set:
<property>
等元素的子元素,指定bean的属性类型为Set类型的属性值。 - map:
<property>
等元素的子元素,指定bean的属性类型为Map类型的属性值。 - entry:
<map>
元素的子元素,用于设置一个键值对。其key属性指定字符串类型的键值,可用ref或value子元素指定其值,也可通过value-ref或value属性指定其值。
<beans xmlns ...>
<bean id = "bean1" class = "com.ssm.Bean1"></bean>
<bean id = "bean2" class = "com.ssm.Bean2"></bean>
</beans>
上述代码分别使用id属性和name属性定义了两个bean,并使用class元素指定其对应的实现类。
如果bean中未指定id或name属性,则spring会将class值作为id使用。
Properties
略。
来源《SSM框架技术精讲与整合案例》