MethodInvokingFactoryBean
에 테스트 프로그램을 작성하려고했습니다. 다음과 같이 선언 된 2 개의 bean이 있습니다.MethodInvokingFactoryBean- 메소드가 호출되지 않습니다.
<bean id="test2" class="test3">
</bean>
<bean id="m2" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean" lazy-init="false" depends-on="test4">
<property name="targetObject"><ref local="test2"></ref></property>
<property name="targetMethod"><value>execute</value></property>
<property name="arguments">
<list>
<value>abc</value>
<ref local="test4"></ref>
</list>
</property>
</bean>
<bean id="test4" class="test5"></bean>
<bean id="m3"class="org.springframework.beans.factory.config.MethodInvokingFactoryBean" lazy-init="true">
<property name="targetObject"><ref local="test4"></ref></property>
<property name="targetMethod"><value>execute</value></property>
<property name="arguments">
<list>
<value>xyz</value>
</list>
</property>
</bean>
내가 통해 빈을 얻고있다 :
test3 obj3 = (test3) _context.getBean("test2");
여기에 나를 위해 유스 케이스이며, TEST2의 방법 execute
을 실행하기 전에, 나는 방법 execute
은 콩에 누워 실행할 수 있어야합니다 " test4 ","test4 "는"test2 "에서 execute
메서드를 실행하기위한 나의 인수 중 하나입니다.
또한, 모든 것을 만들려면 lazy-init = true
이 필요합니다.
위와 같이 시도했지만 test4의 메소드 "execute"는 test2에서 Method를 실행하기 전에 호출되지 않습니다.
친절하게 해결하도록 도와주세요.
고마워요. 나는 그것을 시도 할 것이다. 나의 유스 케이스에서는, 나는 lazy-init이되도록 모든 것을 필요로한다. 또한, 나는 변화를 가지고 어플리케이션을 실행하려고 시도하고, org.springframework.beans.factory.BeanCurrentlyInCreationException을 던진다. 나는 그것이 그것을 발견하기 위해 googled했다, 그것은 순환의 의존 때문에있다. 친절하게이 이슈를 해결하기 위해 나에게 제안을 제공해라. –