• Spring(二)DI( Dependency Injection依赖注入)


    1.setter注入

    ①:bean类:

    public class DITest implements IDIBeanDAO{
        private String name;
        private int age;
        private Double fees;
        private Set<DITest> beans;
    //省略getter/setter方法
    }

    ②:xml配置:

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans.xsd">
        <bean  id="setterBean1" class="com.gxxy.spring_04annotation.di.setter.DITest">
            <property name="name" value="LiSi"></property>
            <property name="age" value="20"></property>
            <property name="fees" value="134.2"></property>
            
        </bean>
        
        <bean  id="setterBean" class="com.gxxy.spring_04annotation.di.setter.DITest">
            <property name="name" value="ZhangSan"></property>
        <property name="age" value="18"></property> 
            <property name="fees" value="1826.3"></property>
            <property name="beans">
                <set>   SET的写法
                    <ref bean="setterBean1" />   
                </set>
                <!-- <property name="beans">
                <list>   list的写法
                    <ref bean=""/>
                </list>
                </property>
                
                <property name="testMap">
                <map>    map的写法
                    <entry key="" value=""/>
                    <entry key-ref="" value-ref="" />
                </map>
            </property> -->
            </property>
        </bean>
    </beans>

    2.Construct注入

    ①:Bean类:

    public class DITest implements IDIBeanDAO{
    
        private String name;
        private int age;
        private Double fees;
        public DITest() {}
        public DITest(String name, int age, Double fees) {
            this.name = name;
            this.age = age;
            this.fees = fees;
        }
    }
    //省略gettersetter 方法    

    ②:xml配置:

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans.xsd">
        
        <bean  id="constructBean" class="com.gxxy.spring_04annotation.di.construct.DITest">
        <!-- <constructor-arg name="name" value="ZhangSan"></constructor-arg>        
        <constructor-arg name="age" value="18"></constructor-arg>        
        <constructor-arg name="fees" value="1235.2"></constructor-arg>     -->    
    <constructor-arg index="0" value="1235.2"></constructor-arg> <constructor-arg index="1" value="12"></constructor-arg> <constructor-arg index="2" value="1235.2"></constructor-arg> </bean> </beans>
  • 相关阅读:
    1039 到底买不买 (20分)
    流密码
    Socket网络编程:互相通讯
    1036 跟奥巴马一起编程
    1033 旧键盘打字
    1029 旧键盘
    1015 德才论 (25分)
    BUU_Real_刷题记录
    vue3 composition api 对比 react hooks
    vue3 文档相关
  • 原文地址:https://www.cnblogs.com/zhang-bo/p/6628145.html
Copyright © 2020-2023  润新知