如何给 Bean 的属性赋值(注入)
有两种方法,第一种是通过构造方法设置值,第二种是设置注入,这次对设置注入进行分享
设置注入(通过 set 方法)
- 如果属性是基本数据类型或 String 等简单数据类型
<bean id="peo" class="com.youdian.pojo.People">
<property name="id" value="213"></property>
<property name="name" value="测试"></property>
</bean>
对代码进行test测试:
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
People people = ac.getBean("peo",People.class);
System.out.println(people);
property 的等效用法
<bean id="peo" class="com.youdian.pojo.People">
<property name="id">
<value>231</value>
</property>
<property name="name">
<value>手动</value>
</property>
</bean>
- 如果属性是 Set<?> 类型
注:其中有对象就用ref标签
<property name="sets">
<set>
<value>1</value>
<value>2</value>
<value>3</value>
<value>4</value>
</set>
</property>
- 如果属性是 List<?>
<property name="list">
<list>
<value>1</value>
<value>2</value>
<value>3</value>
</list>
</property>
- 如果 list 中就只有一个值
<property name="list" value="1"> </property>
<!--或者————都只代表一个值-->
<property name="list" value="1,2,3"> </property>
- 属性是数组
注:如果数组中就只有一个值,可以直接通过 value 属性赋值
<property name="strs" >
<array>
<value>1</value>
<value>2</value>
<value>3</value>
</array>
</property>
- 属性是 map
<property name="map">
<map>
<entry key="a" value="b" > </entry>
<entry key="c" value="d" > </entry>
</map>
</property>
- 属性 Properties 类型
<property name="demo">
<props>
<prop key="key">value</prop>
<prop key="key1">value1</prop>
</props>
</property>