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 设置普通属性值