2012-11-02 2 views
1

다른 bean을 하드 코딩 한 고유 한 bean이 있다고 가정하십시오.봄에 복합 콩?

스프링 구성에 어떻게 참여합니까? 종속성을 실현하지 않는 후자의 경우 봄에는

<bean id="bean1" class="myClass1"/> 
<bean id="bean2" class="myClass2"> 
    <property name="collaborator" value="#{bean1.member}"/> 
</bean> 

:

<bean id="bean1" class="myClass1"/> 
<bean id="bean1.member" factory-bean="bean1" factory-method="getMember"/> 
<bean id="bean2" class="myClass2"> 
    <property name="collaborator" ref="bean1.member"/> 
</bean> 

또 다른 방법은 EL을 사용하는 것입니다

첫 번째 방법은 공장 방법을 사용하는 것입니다. 어쨌든, Eclipse의 Bean Graph는 관련없는 Bean을 표시합니다.

더 좋은 방법이 있습니까? 그것은 컨테이너 또는 컨텍스트로 처리 할 수 ​​있도록 MyClass1 일부 인터페이스를 구현할 수 있습니다?

답변

0

당신이 우리가하는 일 일반적으로, bean1.member에 대해 별도의 빈을 생성하고 myClass1이 수정되지 않고 세터가 없습니다 않는 bean1

<bean id="bean3previouslyMember" class="myCompoundBean"/> 

<bean id="bean1" class="myClass1"> 
    <property name="member" ref="bean3previouslyMember"/> 
</bean> 
<bean id="bean2" class="myClass2"> 
    <property name="collaborator" ref="bean3previouslyMember"/> 
</bean> 

에 주입한다.