1.两个不同的bean,他们两个引用了同样的对象,配置的过程中写起来就比较复杂
    将被引用的同样的对象装在一个模板里,两个不同的bean引用这个模板(继承的感觉)

    以上这个bean不能创建对象 只当做模板来用
    image.png
    image.png

    1. <bean id="c1" class="domain.Computer"></bean>
    2. <bean id="c2" class="domain.Computer"></bean>
    3. <bean id="c3" class="domain.Computer"></bean>
    4. <bean id="room" class="domain.Room">
    5. <property name="computer1" ref="c1"></property>
    6. <property name="computer2" ref="c2"></property>
    7. <property name="computer3" ref="c3"></property>
    8. </bean>
    9. <bean id="person" class="domain.Person">
    10. <property name="computer1" ref="c1"></property>
    11. <property name="computer2" ref="c2"></property>
    12. <property name="computer3" ref="c3"></property>
    13. </bean>

    等价于

    <bean id="c1" class="domain.Computer"></bean>
        <bean id="c2" class="domain.Computer"></bean>
        <bean id="c3" class="domain.Computer"></bean>
    
        <bean id="base" p:computer1-ref="c1" p:computer2-ref="c2" p:computer3-ref="c3" abstract="true"></bean>
    
        <bean id="room" class="domain.Room" parent="base"></bean>
    
        <bean id="person" class="domain.Person" parent="base"></bean>
    

    image.png

    最大的标签中 (修改bean标签默认属性)
    default-lazy-init=”true”
    default-autowire=”byName”

    在Spring的核心文件中引入外部文件 ,引入外部文件通常是.properties
    通过一个命名空间的标签
    可以在某一个bean中给value属性赋值 ${key}

    image.png

    <context:property-placeholder location="classpath:test.properties"></context:property-placeholder>
    
        <bean id="computer" class="domain.Computer">
            <property name="brand" value="${brand}"></property>
            <property name="name" value="${name}"></property>
            <property name="price" value="${price}"></property>
        </bean>