依赖注入(DI)
* 依赖注入一共有三种方式
- 第一种方式 通过构造方法注入
- 第二种方式 通过实体类的Set方法注入
- 第三种方式 通过外部拓展方式注入
* Set依赖注入
- 依赖:Bean对象的创建依赖于Spring容器。
- 注入:Bean对象中的所有属性,由容器来注入。
* 各种类型数据的注入方法
<beans>
<bean id="student" class="com.shi.pojo.Student">
<!-- 基本数据类型注入 -->
<property name="sId" value="19502"/>
<property name="sName" value="施歌"/>
<property name="sAge" value="18"/>
<!--实体引用类型注入 bean注入-->
<property name="address" ref="address"/>
<!--bean注入需要引入该bean-->
<bean id="address" class="com.shi.pojo.Address">
<property name="address" value="北京市通州区永顺镇珠江丽景家园"/>
</bean>
<!--数组注入-->
<property name="course">
<array>
<value>数学</value>
<value>语文</value>
<value>英语</value>
<value>物理</value>
<value>音乐</value>
</array>
</property>
<!--List集合注入-->
<property name="hobbies">
<list>
<value>唱歌</value>
<value>看电影</value>
<value>打游戏</value>
</list>
</property>
<!--Map集合注入-->
<property name="score">
<map>
<entry key="体育" value="68"/>
<entry key="奥数" value="78"/>
<entry key="拓展" value="88"/>
</map>
</property>
<!--Set集合注入-->
<property name="games">
<set>
<value>GTA5</value>
<value>PUBG</value>
<value>CSGO</value>
</set>
</property>
<!--Properties注入-->
<property name="introduce">
<props>
<prop key="自我评价">热情开朗,乐于助人,善于思考,勤学苦练</prop>
<prop key="实习经历">啦啦啦啦啦啦啦啦啦啦啦啦啊阿拉啦</prop>
<prop key="民族">满族</prop>
</props>
</property>
<!--NULL值注入-->
<property name="wife">
<null/>
</property>
</bean>
</beans>