2014-12-05 2 views
0

мне нужен bean как этотJava Spring IOC значение создания боб

<bean id="studentWithSchool" class="com.model.Student" scope="prototype">  
    <property name="school"> 
     <bean class="com.model.School" scope="prototype"/> 
    </property> 
</bean> 

это нормально.

Моя проблема: у меня есть ученик, возвращающийся из метода из другого компонента.

Я обычно загружаю боб, как это, когда это свойство.

<property name='beanProperty' value='#{anotherBean.getBeanProperty()}'/> 

Но в данном случае мне нужно сам новый боб быть установлен из другого метода фасоли (School object is returned from another bean method).

Это я, я пытаюсь, конечно, это неправильно.

<bean id="studentWithSchool" class="com.model.Student" scope="prototype" value='#{anotherBean.getBeanProperty()}'>  
    <property name="school"> 
     <bean class="com.model.School" scope="prototype"/> 
    </property> 
</bean> 

Любое обходное решение.

К сожалению на моем бедном английском, любой помощь очень ценит ...

С наилучшими пожеланиями из Венесуэлы.

ответ

1

Если я вас правильно понимаю, то studentWithSchool создан и возвращен методом в anotherBean. Если это так, то вы can use a factory-method:

<bean id="studentWithSchool" factory-bean="anotherBean" factory-method="getBeanProperty" scope="prototype" /> 
+0

Он работает как шарм с наилучшими пожеланиями :) – chiperortiz

1

Я считаю, что вы пытаетесь использовать заводскую скороговорку с весной. Для этого вы можете использовать заводскую фасоль с весны.

<bean id="studentWithSchool" factory-bean="anotherBeanStaticFactory" factory-   method="createBeanProperty" scope="prototype"  
<property name="school"> 
    <bean class="com.model.School" scope="prototype"/> 
</property> 

Для более подробной информации Вы можете использовать ссылку ниже: -

http://docs.spring.io/spring-framework/docs/2.5.6/api/org/springframework/beans/factory/BeanFactory.html

Смежные вопросы