微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

IOC的三种DI依赖注入构造注入,属性注入,注解注入

<?xml version="1.0" encoding="UTF-8"?>
<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"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
    <!-- 第一种无参构造注入 -->
    <bean class="com.bb.bean.Student" id="student" />

    <!-- 第二种有参构造  -->
    <!-- 通过name-->
    <bean class="com.bb.bean.Student" id="student1">
        <constructor-arg name="name" value="王五" />
        <constructor-arg name="age" value="13" />
        <constructor-arg name="stuID" value="A1" />
    </bean>

    <!-- 通过参数下标 -->
    <bean class="com.bb.bean.Student" id="student2">
        <constructor-arg index="0" value="狄仁杰" />
        <constructor-arg index="1" value="30" />
        <constructor-arg index="2" value="E1" />
    </bean>



    <!-- P名称空间注入-->
    <bean class="com.bb.bean.Student" id="stuP" p:name="赵六" p:age="13"
        p:stuID="B1" />

    <!-- 第三种属性注入 -->
    <bean class="com.bb.bean.Student" id="student3">
        <property name="name" value="李元芳" />
        <property name="age" value="16" />
        <property name="stuID" value="c1" />
    </bean> 
    
    <!-- 对象注入,属性是对象的注入 -->
     <bean class="com.bb.bean.Teachar" id="teachar">
        <property name="name" value="德莱文" />
        <property name="className" value="D1" />
    </bean>
    
    <bean class="com.bb.bean.Student" id="student4">
        <property name="name" value="卡特" />
        <property name="age" value="16" />
        <property name="stuID" value="F1" />
        <property name="teachar" ref="teachar"/>
    </bean> 
    
    <!-- 属性是集合的注入 list set map Properties -->
    <bean class="com.bb.bean.Teachar" id="teachar">
        <property name="name" value="德莱文" />
        <property name="className" value="D1" />
    </bean>
    <bean class="com.bb.bean.Teachar" id="teachar1">
        <property name="name" value="德莱の斯" />
        <property name="className" value="D2" />
    </bean>
    
    <bean class="com.bb.bean.Student" id="student5">
        <property name="name" value="卡特" />
        <property name="age" value="16" />
        <property name="stuID" value="F1" />
        
        <property name="tealist">
            <list>
                <ref bean="teachar" />
                <ref bean="teachar1" />
            </list>
        </property>
        
        <property name="teaSet">
            <set>
                <ref bean="teachar"/>
                <ref bean="teachar1"/>
            </set>
        </property>
        
        <property name="teaMap">
            <map>
                <entry key="t1" value-ref="teachar"/>
                <entry key="t2" value-ref="teachar1"/>
            </map>
        </property>
        
        <property name="pro">
            <props>
                <prop key="p1">盖伦</prop>
                <prop key="p2">亚索</prop>
            </props>
        </property>
    </bean>




</beans>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐