Spring的注入方式(构造器,set方法,集合注入)
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:p="http://www.springframework.org/schema/p"
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="cn.kgc.dao.impl.UserDaoImpl" name="userDao" scope="singleton" init-method="init" destroy-method="destory"></bean>
<!-- 依赖注入 value 只能赋值基本数据类型 + String
ref :pojo类型 复杂类型 关联好的对象
-->
<bean id="user" class="cn.kgc.domain.User">
<!--通过构造方法的参数赋值-->
<!--<constructor-arg index="0" value="1"></constructor-arg>-->
<!--<constructor-arg index="1" value="111"></constructor-arg>-->
<!--通过构造方法的参数名字-->
<!--<constructor-arg name="id" value="3"></constructor-arg>-->
<!--<constructor-arg name="username" value="bobo"></constructor-arg>-->
<!--<constructor-arg name="birthday" ref="birthday"></constructor-arg>-->
</bean>
<bean id="birthday" class="java.util.Date"></bean>
<!--通过set方法注入-->
<bean id="user2" class="cn.kgc.domain.User">
<!--property: 属性注入 先找到set方法 才能找到属性-->
<property name="username" value="威威"></property>
<property name="birthday" ref="birthday"></property>
<property name="sex" value="男"></property>
<property name="id" value="88"></property>
</bean>
<!--使用p 名称空间注入属性-->
<bean id="user3" class="cn.kgc.domain.User"
p:id="11111" p:username="花花" p:sex="女" p:birthday-ref="birthday"
></bean>
<!--z注入集合的属性-->
<bean id="user4" class="cn.kgc.domain.User">
<!--array list set 结构相同 标签可以混用-->
<property name="list">
<set>
<value>java ee</value>
<value>大数据</value>
<value>python</value>
</set>
</property>
<property name="set">
<array>
<value>java ee1</value>
<value>大数据1</value>
<value>python1</value>
</array>
</property>
<property name="strs">
<array>
<value>java ee2</value>
<value>大数据2</value>
<value>python2</value>
</array>
</property>
<!--map properties -->
<property name="map">
<props>
<prop key="1111">one</prop>
<prop key="2222">two</prop>
<prop key="3333">three</prop>
<prop key="55555">five</prop>
</props>
</property>
<property name="properties">
<map>
<entry key="1111" value="one"></entry>
<entry key="2222" value="two"></entry>
<entry key="3333" value="two1"></entry>
<entry key="55555" value="two2"></entry>
</map>
</property>
</bean>
</beans>