Spring 依赖注入
构造方法注入
① 根据索引注入
<bean name="student" class="cn.bdqn.SpringDI.Student">
<constructor-arg index="0"><value>小会</value></constructor-arg>
<constructor-arg index="1" ><ref bean="pet"/> </constructor-arg>
</bean> |
② 根据属性类型注入
<bean name="student" class="cn.bdqn.SpringDI.Student">
<constructor-arg type="java.lang.String"><value>小会</value></constructor-arg>
<constructor-arg type="cn.bdqn.SpringDI.Pet"><ref bean="pet"/> </constructor-arg>
</bean> |
③ 根据属性名称注入
<bean name="student" class="cn.bdqn.SpringDI.Student">
<constructor-arg name="name"><value>小会</value></constructor-arg>
<constructor-arg name="pet"><ref bean="pet"/> </constructor-arg>
</bean> |
属性注入
① 常量注入
<bean name="student" class="cn.bdqn.SpringDI.Student"> <property name="name" value="小刘"/> </bean> |
② Bean注入
<bean name="pet"class="cn.bdqn.SpringDI.Pet">
<property name="name" value="小黑"/>
</bean>
<bean name="student2" class="cn.bdqn.SpringDI.Student">
<property name="name" value="小飞"/>
<property name="pet" ref="pet"/>
</bean> |
③ 数组注入
<bean name="student" class="cn.bdqn.SpringDI.Student">
<property name="friends">
<array>
<value>小刚</value>
<value>张三</value>
<value>李四</value>
</array>
</property>
</bean> |
④ List注入
<bean> <property name="books">
<list>
<value>红楼梦</value>
<value>西游记</value>
<value>三国演义</value>
</list>
</property>
</bean> |
⑤ Map注入
<bean> <property name="banks">
<map>
<entry key="中国银行"><value>629983021802193912</value></entry>
<entry key="建设银行"><value>789127712983217932163921</value></entry>
</map>
</property>
</bean> |
⑥ Set注入
<property name="games">
<set>
<value>lol</value>
<value>dota</value>
<value>dnf</value>
</set>
</property> |
⑦ Null注入
<property name="wife">
<null></null>
</property> |
⑧ Properties注入
<property name="info">
<props>
<prop key="学号">1007070324</prop>
<prop key="姓名">小刘</prop>
<prop key="年龄">23</prop>
</props>
</property> |
⑨ P命名空间注入 (需要引入p命名空间,这种格式非常简洁,以后经常会用,这相当于属性注入)
<bean id="user" class="cn.bdqn.SpringDI.User" p:name="张三" p:age="24" p:sex="男"/> |
⑩ C命名空间注入(需要引入C命名空间,这种相当于使用构造方法注入)
<bean id="use" class="cn.bdqn.SpringDI.User" c:name="张三" c:age="24" c:sex="男" /> |