3.Spring中Bean的配置
[toc]
1. bean的属性赋值
1.1 依赖注入的方式
1. 1.1 通过bean的setXxx()方法赋值
1 | <bean id="student" class="cn.justweb.pojo.Student"> |
1.1.2 通过bean的构造器赋值
Spring自动匹配合适的构造器
1 | <!--注意这个Student要存在带参数的构造器--> |
通过索引值指定参数位置
1 | <!--通过索引值指定参数位置--> |
通过类型区分重载的构造器
1 | <!--通过类型区分重载的构造器--> |
1.2 value可以使用的值
若字面值中包含特殊字符,可以使用
<![CDATA[]]>
把字面值包裹起来。null
1
2
3<property name= "address">
<null/>
</property>外部已声明的bean、引用其他的bean
1
2
3<bean id="shop" class="com.justweb.spring.bean.Shop" >
<property name= "student" ref ="student"/>
</bean >给bean的级联属性赋值
内部bean
1
当bean实例仅仅给一个特定的属性使用时,可以将其声明为内部bean。内部bean声明直接包含在<property>或<constructor-arg>元素里,不需要设置任何id或name属性内部bean不能使用在任何其他地方。
1.3 p的命名空间
- 为了简化XML文件的配置,越来越多的XML文件采用属性而非子元素配置信息。Spring
- 从2.5版本开始引入了一个新的p命名空间,可以通过
元素属性的方式配置Bean 的属性。使用p命名空间后,基于XML的配置方式将进一步简化。
1 | <!--使用之前先加入约束--> |
1.4 集合属性
在Spring中可以通过一组内置的XML标签来配置集合属性,例如:
,
或
1.4.1 数组和List
- 配置java.util.List类型的属性,需要指定
标签,在标签里包含一些元素。这些标签 可以通过
指定简单的常量值,通过指定对其他Bean的引用。通过 指定内置bean定义。通过 指定空元素。甚至可以内嵌其他集合。 - 数组的定义和List一样,都使用
元素。
- 配置java.util.Set需要使用
标签,定义的方法与List一样。
1 | <bean id="shop" class="com.justweb.spring.bean.Shop" > |
1.4.2 Map
- Java.util.Map通过
- 必须在
标签里定义键。 - 因为键和值的类型没有限制,所以可以自由地为它们指定
、、 或 元素。 - 可以将Map的键和值作为
的属性定义:简单常量使用key和value来定义;bean引用通过key-ref和value-ref属性定义。
1 | <bean id="cup" class="com.justweb.spring.bean.Cup"> |
1.4.3 集合类型的bean
- 如果只能将集合对象配置在某个bean内部,则这个集合的配置将不能重用。我们需要 将集合bean的配置拿到外面,供其他bean引用。
- 配置集合类型的bean需要引入util名称空间
1 | <util:list id="bookList"> |
☆
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Jilfoyle!