7.5.4 设置普通属性值
使用元素的value属性
<property>
元素的value
属性用于指定基本类型
及其包装类
、字符串类型
的参数值, Spring
使用XML
解析器来解析出这些数据,然后利用java.beans.PropertyEditor
完成类型转换:从java.lang.String
类型转换为所需的参数值类型。如果目标类型是基本类型
及其包装类
,通常都可以正确转换。
程序示例
项目结构
1 | E:\workspace_QingLiangJiJavaEEQiYeYingYongShiZhang5\value |
下面的代码演示了<property>
元素的value
属性确定属性值的情况。假设有如下的Bean
类,该Bean
类里包含int
型和double
型的两个属性,并为这两个属性提供对应的setter
方法。下面是该Bean
的实现类代码,由于仅仅用于测试注入普通属性值,因此没有使用接口.
ExampleBean.java
1 | package org.crazyit.app.service; |
上面Bean
类的两个成员变量都是基本数据类型的, Spring
配置文件使用<property>
元素的value
属性即可为这两个基本数据类型的成员变量对应的setter
方法指定参数值。配置文件如下。
beans.xml
1 |
|
BeanTest.java
1 | package lee; |
运行程序,输出exampleBean
的两个成员变量值,可以看到输出结果分别是1
和2.3
,这表明Spring
已为这两个成员变量成功注入了值。
使用元素的子元素
早期Spring
还支持一个”更为臃肿”的写法,例如需要配置一个驱动类,如果用早期Spring
的配置方式,则需要如下三行代码:
1 | <property name="driverClass"> |
而现在的Spring
配置则使用如下一行代码接口实现:
1 | <property name="driverClass" value="com.mysql.jdbc.Driver"/> |
上面的这一行配置片段通过为<property>
元素的value
属性来指定调用setDriverClass()
方法的参数值为com.mysql.jdbc.Driver
,从而完成依赖关系的设值注入。这种配置方式只要一行代码即可完成一次”依赖注入”
两种方式所能提供的信息量完全一样,而采用value
属性则更加简洁;所以后来Spring
都推荐采用value
属性的方式来配置。
原文链接: 7.5.4 设置普通属性值