Spring Beans:在实例化后调用特定的类方法

时间:2015-07-06 11:13:26

标签: spring dependency-injection

我有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>

1 个答案:

答案 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>