当Bean实例仅仅给一个特定的属性使用时,可以将其声明为内部Bean。
内部Bean声明直接包含在或元素里,不需要设置任何id或name属性。
内部Bean不能使用在任何其他地方。
将上一篇中的applicationContext.xml用内部Bean替换
<?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的属性-->
<!-- 使用构造器注入属性值可以指定参数的位置和参数的类型,以区分重载的构造器 -->
<bean id="car" class="spring.beans.Car">
<constructor-arg value="Audi" index="0"></constructor-arg>
<constructor-arg value="NanJing" index="1"></constructor-arg>
<constructor-arg type="double">
<value>120</value>
</constructor-arg>
</bean>
<bean id="person" class="spring.beans.Person">
<property name="name" value="zch"></property>
<property name="age" value="24"></property>
<!-- 内部bean,不能被外部引用,只能在内部使用 -->
<property name="car">
<bean class="spring.beans.Car">
<constructor-arg value="Ford"></constructor-arg>
<constructor-arg value="BeiJing"></constructor-arg>
<constructor-arg value="200" type="double"></constructor-arg>
</bean>
</property>
</bean>
</beans>