.1)三种方式的依赖注入
1.set方式的依赖注入 使用的标签是property
1.1 IOC容器的赋值:如果是简单类型(8个基本+String) 使用value赋值;
如果是对象类型 使用ref=“其他需要依赖的bean的id” 来赋值
<!-- 课程类--> <bean id="Scourse" class="net.bdqn.hbz.pojo.Scourse"> <property name="CName" value="java"></property> <property name="CHour" value="200"></property> <property name="teacher" ref="Teacher"></property> </bean> <!-- 老师类--> <bean id="Teacher" class="net.bdqn.hbz.pojo.Teacher"> <property name="teaName" value="何邦柱"></property> <property name="teaAge" value="20"></property> </bean>
1.1.1 就是调用了类中的set方法
1.1.2 因此可以实现依赖注入
1.1.3 依赖注入的底层就是通过反射技术来做的
1.1.3.1 列如teaName 先通过拼接set+TeaName ---->setTeaName 在通过class里面的值来通过反射找寻类中的方法
2.构造方法方式的依赖注入
2.1 IOC容器的赋值:如果是简单类型(8个基本+String) 使用value赋值; 如果是对象类型 使用ref=“其他需要依赖的bean的id” 来赋值
<bean id="Scourse" class="net.bdqn.hbz.pojo.Scourse"> <constructor-arg value="java" index="0" name="cName" type="java.lang.String"></constructor-arg> <constructor-arg value="200" index="1"></constructor-arg> <constructor-arg ref="Teacher" index="2"></constructor-arg> </bean> <bean id="Teacher" class="net.bdqn.hbz.pojo.Teacher"> <constructor-arg value="何邦柱" index="0"></constructor-arg> <constructor-arg value="20" index="1"></constructor-arg> </bean>
3.1 引入命名空间
xmlns:p="http://www.springframework.org/schema/p"
3.2 如何使用使用p标签
<bean id="Teacher" class="net.bdqn.hbz.pojo.Teacher" p:teaName="傻逼" p:teaAge="22">
3.2.1 如果是简单类型:p:属性名="输入的值" 如果是引用类型(除了String):p:属性名-ref=“引用的id”
3.2.2 注意多个p之间不要有多余的空格
.2)给各种集合类型的属性注入 列如 Map List Set Properties 本次示例用的是set注入方式
1.List集合注入
<property name="list"> <list> <value>list篮球1</value> <value>list篮球2</value> <value>list篮球3</value> </list> </property>
2.array数组注入
<property name="array"> <array> <value>array足球1</value> <value>array足球2</value> <value>array足球3</value> </array> </property>
3.map集合注入
<property name="map"> <map> <entry> <key> <value>ko</value> </key> <value>乒乓球1</value> </entry> <entry> <key> <value>kk</value> </key> <value>乒乓球2</value> </entry> <entry> <key> <value>koo</value> </key> <value>乒乓球3</value> </entry> </map> </property>
4.set集合注入
<property name="strings"> <set> <value>1</value> <value>2</value> <value>3</value> </set> </property>
5.properties集合注入
<property name="properties"> <props> <prop key="jj">网球1</prop> <prop key="jj1">网球2</prop> <prop key="jj2">网球3</prop> </props> </property>