1.两个不同的bean,他们两个引用了同样的对象,配置的过程中写起来就比较复杂
将被引用的同样的对象装在一个模板里,两个不同的bean引用这个模板(继承的感觉)
以上这个bean不能创建对象 只当做模板来用
<bean id="c1" class="domain.Computer"></bean>
<bean id="c2" class="domain.Computer"></bean>
<bean id="c3" class="domain.Computer"></bean>
<bean id="room" class="domain.Room">
<property name="computer1" ref="c1"></property>
<property name="computer2" ref="c2"></property>
<property name="computer3" ref="c3"></property>
</bean>
<bean id="person" class="domain.Person">
<property name="computer1" ref="c1"></property>
<property name="computer2" ref="c2"></property>
<property name="computer3" ref="c3"></property>
</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>
default-lazy-init=”true”
default-autowire=”byName”
在Spring的核心文件中引入外部文件
,引入外部文件通常是.properties
通过一个命名空间的标签
<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>