一,null赋值
xml文件内部
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean class="Test.Person" id="person01">
<!-- 进行复杂赋值的时候是在标签内部进行赋值 -->
<property name="name">
<!-- 赋值为null -->
<null></null>
</property>
</bean>
</beans>
二给自定义类的属性赋值
<!-- 给自定义类的属性赋值
1.在property标签内部赋值(引用内部bean)
2.用容器中已有的对象进行赋值(引用其他bean)
-->
<property name="myCar">
<bean class="Test.Car">
<property name="carName" value="宝马"></property>
<property name="color" value="黑色"></property>
<property name="price" value="500"></property>
</bean>
</property>
<property name="myCar" ref="car01">
<!--ref是引用的意思:引用当前容器中已有的Car对象car01 -->
</property>
三、进行复杂的赋值
一、为list赋值
注意:内部bean写id在外面是获取不到的,只能在内部使用
<bean class="Test.Book" id="book01" p:bookName="东游记"></bean>
<bean class="Test.Person" id="person01">
<!--如何为list赋值 -->
<property name="books" >
<!-- 使用list标签为list赋值,相当于 books = new ArrayList<Book>();该List只能放Book -->
<list>
<!-- 使用内部bean -->
<bean class="Test.Book" p:bookName="西游记"></bean>
<!-- 使用外部bean -->
<ref bean="book01"/>
</list>
</property>
</bean>
二、为map类型赋值
<!-- 为map类型赋值:Map<String, Object> maps -->
<property name="maps">
<!-- maps = new LinkedHashMap<>(); -->
<map>
<!-- 一个entry可以指定一个键值对 -->
<entry key="key01" value="张三"></entry>
<entry key="key02" value="18"></entry>
<entry key="key03" value-ref="book01"></entry><!-- 值是引用了一个外部的bean -->
<entry key="key04"><!-- 值是自己在内部创建的一个bean -->
<bean class="Test.Car" >
<property name="carName" value="宝马"></property>
<property name="color" value="黑色"></property>
</bean>
</entry>
<!-- <entry key="key05" >
map套map
<map></map>
</entry> -->
</map>
</property>
三、为Properties类型赋值
<!-- private Properties properties -->
<property name="properties">
<!-- properties=new Properties();该类对象内部都是String类型的键值对 -->
<props>
<!-- 值直接写在标签体中 -->
<prop key="username">root</prop>
<prop key="password">123456</prop>
</props>
</property>
util名称空间创建集合类型的bean:方便别人引用
先导入util名称空间
在外部用util创建map等等,然后在其他bean内部引用它,实现了一个集合类对象可以被多个bean使用
<!-- 相当于new LinkedHashMap<>(); -->
<util:map id="map01">
<!-- 只用在里面添加元素就可以了 -->
<entry></entry>
<entry></entry>
<entry></entry>
</util:map>
级联属性的赋值
级联属性就是给属性的属性赋值,
<bean class="Test.Car" id="car">
<property name="carName" value="宝马"></property>
<property name="color" value="黑色"></property>
<property name="price" value="20"></property>
</bean>
<bean class="Test.Person" id="person01">
<!-- 引用外部的car -->
<property name="myCar" ref="car"></property>
<!-- 级联属性赋值,更改了车的名字,也会改变外部名字 -->
<property name="myCar.carName" value="奔驰"></property>
</bean>