关于IoC容器的五种注入类型
分为五种
1、直接量
//1、注入直接量
<bean id="a" class="cn.kgc.tangcco.type.A">
<property name="message" value="Hello KGC Spring!">
</bean>
2、引用bean
//2、引用bean
<bean id="b" class="cn.kgc.tangcco.type.B">
<property name="c">
<ref bean="api"/> //ref 标签是引用bean的作用,bean是B类的id-->
</property>
</bean>
<bean id="api" class = "cn.kgc.tangcco.type.C"/>
3、使用内部bean
4、注入null或空字符串
//3、使用内部bean
<bean id="a" class="cn.kgc.tangcco.ioc.type.A" depends-on="api01">
<property name="b">
<bean class="cn.kgc.tangcco.ioc.type.B"></bean>
</property>
//4、注入空字符串
<property name="message" ><null></property>
</bean>
5、集合注入
//5、集合注入
//(1)演示merge(合并)
<bean id="mergeA" class="cn.kgc.tangcco.ioc.type.merge.MergeA">
<property name="listA">
<list>
<value>kgc1</value>
<value>kgc2</value>
</list>
</property>
</bean>
<bean id="mergeB" parent="mergeA" class="cn.kgc.tangcco.ioc.type.merge.MergeB">
<property name="listA">
<list merge="true">
<value>kgc3</value>
<value>kgc4</value>
</list>
</property>
</bean>
//(2)演示Properties注入
<bean id="injectProperties" class="cn.kgc.tangcco.ioc.type.collection.InjectProperties">
<property name="strP">
<props>
<prop key="kgc1">v1</prop>
<prop key="kgc2">v2</prop>
<prop key="kgc3">v3</prop>
</props>
</property>
</bean>
//(3)演示Map集合注入
<bean id="injectMapDemo" class="cn.kgc.tangcco.ioc.type.collection.InjectMapDemo">
//a、第一种表现形式
<property name="mapStr">
<map>
<entry key="kgc1" value="v1"/>
<entry key="kgc2" value="v2"/>
<entry key="kgc3" value="v3"/>
</map>
</property>
<property name="mapApi">
<map>
<entry key="kgc1" value-ref="api01"/>
<entry key="kgc2" value-ref="api02"/>
</map>
</property>
//b、第二种
<property name="mapApi">
<map>
<entry>
<key><value>kgc1</value></key>
<ref bean="api01"/>
</entry>
<entry>
<key><value>kgc2</value></key>//直接量注入
<ref bean="api02"/>
</entry>
</map>
</property>
</bean>
//(4)演示Collection集合注入
<bean id="injectListDemo" class="cn.kgc.tangcco.ioc.type.collection.InjectCollectionDemo">
<property name="sets">
<set>
<value>天</value>
<value>地</value>
<value>至</value>
<value>尊</value>
<value>临</value>
</set>
</property>
<property name="apiSet">
<set>
<ref bean="api01"/>
<ref bean="api02"/>
</set>
</property>
//(5)以下是List集合注入
<property name="strs">
<list>
<value>无</value>
<value>为</value>
<value>天</value>
<value>下</value>
<value>仙</value>
</list>
</property>
<property name="apis">
<list>
<ref bean="api01"/>
<ref bean="api02"/>
</list>
</property>
</bean>
总体的思维导图
1、记录自己的学习过程
2、根据逻辑关系制定自己的笔记思路
3、完善思维导图,对于复习知识点,事半功倍