我有2个班级A& B. Booth来自一些第三方包。
我在代码中有这样的东西
A objA = new objA;
objA.registerModule(new B());
现在我在考虑代码中的@Autowiring A.有没有办法创建A和B的bean并调用A类和B类的registerModule。在其bean中传递对B的引用?
这样的事情:
<bean id="classB" class = ... />
<bean id="classA>
/*pass in reference to B */
</bean>
答案 0 :(得分:2)
是的,请查看:MethodInvokingFactoryBean
在你的情况下它应该是这样的:
<bean id="classB" class = "com.company.B"/>
<bean id="classA" class = "com.company.A"/>
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetObject" ref="classA"/>
<property name="targetMethod" value="registerModule"/>
<property name="arguments">
<list>classB</list>
</property>
</bean>