zoukankan      html  css  js  c++  java
  • Spring DI(依赖注入)

    DI(依赖注入)Dependency Injection

    1 DI是什么,DI可以理解为IOC的一部分

    2 举例:当一个类A中需要依赖另一个类B对象时,把B赋值给A的过程就叫做依赖注入

    代码示例:

        <bean id="peo2" class="com.qyx.Bean.PeopleFactory" factory-method="newInstance02"/>
        <bean id="peo3" class="com.qyx.Bean.People">
            <!--
                下面赋值方法等效于
                <property name="id">
                    <value>100</value>
                </property>
            -->
            <property name="id" value="10"></property>
            <property name="name" value="Test"></property>
            <property name="job" value="CTR"></property>
            <property name="major" value="QWE"></property>
            <property name="sets">
                <set>
                    <value>aaaaa</value>
                    <value>bbbbb</value>
                </set>
            </property>
            <!--List赋值的另一种写法<property name="list" value="1,2,3">
                如果list中只有一个值
            -->
            <property name="lists">
                <list>
                    <value>sdsa</value>
                </list>
            </property>
            <!--数组赋值的另一种写法<property name="strs" value="1,2,3">
                如果数组中只有一个值
            -->
            <property name="strs">
                <array>
                    <value>1</value>
                    <value>2</value>
                    <value>3</value>
                </array>
            </property>
            <property name="maps">
                <map>
                    <entry key="a" value="b"/>
                </map>
            </property>
            <!--为properties属性赋值-->
            <!--<property name="demo">
                <props>
                    <prop key="aa">bb</prop>
                </props>
            </property>-->
            <property name="desk" ref="desk"></property>
        </bean>
        <bean id="desk" class="com.qyx.Bean.Desk">
            <property name="id" value="1"></property>
            <property name="price" value="12"></property>
        </bean>
        <bean id="desk2" class="com.qyx.Bean.Desk" scope="singleton">
            <constructor-arg name="id" value="10"></constructor-arg>
            <constructor-arg name="price" value="20"></constructor-arg>
        </bean>
        <bean id="desk3" class="com.qyx.Bean.Desk" scope="prototype">
            <constructor-arg name="id" value="20"></constructor-arg>
            <constructor-arg name="price" value="60"></constructor-arg>
        </bean>
        <bean class="com.qyx.Bean.InitHelloWorld"></bean>
    </beans>
        <bean id="peo2" class="com.qyx.Bean.PeopleFactory" factory-method="newInstance02"/>
    <bean id="peo3" class="com.qyx.Bean.People">
    <!--
    下面赋值方法等效于
    <property name="id">
    <value>100</value>
    </property>
    -->
    <property name="id" value="10"></property>
    <property name="name" value="Test"></property>
    <property name="job" value="CTR"></property>
    <property name="major" value="QWE"></property>
    <property name="sets">
    <set>
    <value>aaaaa</value>
    <value>bbbbb</value>
    </set>
    </property>
    <!--List赋值的另一种写法<property name="list" value="1,2,3">
    如果list中只有一个值
    -->
    <property name="lists">
    <list>
    <value>sdsa</value>
    </list>
    </property>
    <!--数组赋值的另一种写法<property name="strs" value="1,2,3">
    如果数组中只有一个值
    -->
    <property name="strs">
    <array>
    <value>1</value>
    <value>2</value>
    <value>3</value>
    </array>
    </property>
    <property name="maps">
    <map>
    <entry key="a" value="b"/>
    </map>
    </property>
    <!--为properties属性赋值-->
    <!--<property name="demo">
    <props>
    <prop key="aa">bb</prop>
    </props>
    </property>-->
    <property name="desk" ref="desk"></property>
    </bean>
    <bean id="desk" class="com.qyx.Bean.Desk">
    <property name="id" value="1"></property>
    <property name="price" value="12"></property>
    </bean>
    <bean id="desk2" class="com.qyx.Bean.Desk" scope="singleton">
    <constructor-arg name="id" value="10"></constructor-arg>
    <constructor-arg name="price" value="20"></constructor-arg>
    </bean>
    <bean id="desk3" class="com.qyx.Bean.Desk" scope="prototype">
    <constructor-arg name="id" value="20"></constructor-arg>
    <constructor-arg name="price" value="60"></constructor-arg>
    </bean>
    <bean class="com.qyx.Bean.InitHelloWorld"></bean>
    </beans>
  • 相关阅读:
    ionic4 无限滚动加载组件 ion-infinite-scroll-content 的loadingSpinner 属性
    ionic cordova build android 报错 解决
    ionic4 标题栏 ion-toolbar 默认 底部会显示一个底边框 解决
    ionic3 在ios12.2 12.3 12.4上页面无法滚动
    Android 打生产包(release)生成密钥(证书)及签名
    在Vue.js应用程序中使用Ionic 4组件
    ionic4 ionic-native列表
    清除 多行li 行间距
    Connection Pool
    Logging
  • 原文地址:https://www.cnblogs.com/qyx66/p/11960194.html
Copyright © 2011-2022 走看看