Java 使用SpringbeanXML初始化自定义内部对象
我有这样的课:Java 使用SpringbeanXML初始化自定义内部对象,java,spring,spring-bean,Java,Spring,Spring Bean,我有这样的课: Class Food int type String name Class Dog String dogName Food food 我想使用Spring属性初始化Dog类,通过这样做初始化dogName值没有问题: <bean id="dog" class="....Dog"> <property name="dogName" value="dog"/> ... </bean> ... 如何为食物对象
Class Food
int type
String name
Class Dog
String dogName
Food food
我想使用Spring属性初始化Dog
类,通过这样做初始化dogName
值没有问题:
<bean id="dog" class="....Dog">
<property name="dogName" value="dog"/>
...
</bean>
...
如何为
食物对象设置值?使用
中的ref
引用食物的bean id
<bean id="food" class="....Food">
</bean>
<bean id="dog" class="....Dog">
<property name="dogName" value="dog"/>
<property name="food" ref="food"/>
</bean>
<bean id="food" class="....Food"></bean>
<bean id="dog" class="....Dog">
<property name="dogName" value="dog"/>
<property name="food" ref="food"/>
</bean>
<bean id="dog" class="c...dog">
<property name="dogName" value="dog"/>
<property name="food" >
<bean class="...food">
<property name="type" value="1"/>
<property name="name" value="chicken"/>
</bean>
</property>
</bean>
见Spring:
或元素中的元素用于定义所谓的内部bean。内部bean定义不需要定义任何id或name,最好不要指定任何id或name值,因为id或name值将被容器忽略
<bean id="outer" class="...">
<!-- instead of using a reference to a target bean, simply define the target bean inline -->
<property name="target">
<bean class="com.example.Person"> <!-- this is the inner bean -->
<property name="name" value="Fiona Apple"/>
<property name="age" value="25"/>
</bean>
</property>
</bean>
使用中的ref引用食物的bean id
<bean id="food" class="....Food">
</bean>
<bean id="dog" class="....Dog">
<property name="dogName" value="dog"/>
<property name="food" ref="food"/>
</bean>
<bean id="food" class="....Food"></bean>
<bean id="dog" class="....Dog">
<property name="dogName" value="dog"/>
<property name="food" ref="food"/>
</bean>
<bean id="dog" class="c...dog">
<property name="dogName" value="dog"/>
<property name="food" >
<bean class="...food">
<property name="type" value="1"/>
<property name="name" value="chicken"/>
</bean>
</property>
</bean>
如果是内部的,但不能在父bean标记之外使用它
<bean id="dog" class="c...dog">
<property name="dogName" value="dog"/>
<property name="food" >
<bean class="...food">
<property name="type" value="1"/>
<property name="name" value="chicken"/>
</bean>
</property>
</bean>