- DI: 依赖注入(方法)
- IOC:控制反转(思想)
- DI是什么:
*DI是IOC的一种实现方式
*当一个类A需要依赖另一个类B对象时,就把对象B给A的过程就叫依赖注入
<bean id="peo" class="com.mlj.springstudy.People">
<!-- name:参数名称 value:普通类型或String等 -->
<property name="id" value="123"></property>
<property name="name" value="柏原崇"></property>
<property name="phone" ref="phone"></property>
</bean>
<bean id="phone" class="com.mlj.springstudy.Phone"></bean>
bean 的顺序随意
数组,列表,map,空值
<bean id="adress" class="di.Adress">
<property name="country" value="中国"></property>
<property name="city" value="深圳"></property>
</bean>
<bean id="adress2" class="di.Adress">
<property name="country" value="中国"></property>
<property name="city" value="广州"></property>
</bean>
<bean id="student" class="di.Student">
<property name="name" value="王二狗"></property>
<property name="adress" ref="adress"></property>
<property name="books">
<array>
<value>五块钱花三天</value>
<value>如何讨取富婆欢心</value>
<value>论钢铁是怎么废掉的</value>
</array>
</property>
<property name="card">
<map>
<entry key="A" value="学生卡"></entry>
<entry key="B" value="饭卡"></entry>
</map>
</property>
<property name="hobbies">
<list>
<value>睡觉</value>
<value>听歌</value>
<value>学习</value>
</list>
</property>
<property name="games">
<set>
<value>俄罗斯方块</value>
<value>打地鼠</value>
<value>扫雷</value>
</set>
</property>
<property name="wife">
<null></null>
</property>
<property name="info">
<props>
<prop key="学号">9527</prop>
<prop key="学院">计算机</prop>
</props>
</property>
</bean>
P命名空间和C命名空间
P: property的注入方式
C: 构造器注入方式
注意点:P,C命名空间不能直接引入,需要导入xml约束
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:c="http://www.springframework.org/schema/c"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="adress" class="di.Adress" c:city="深圳" c:country="中国"></bean>
<bean id="student" class="di.Student" p:adress-ref="adress" p:name="吴彦祖"></bean>
</beans>