我有以下java类
public class SecondClass
{
//...
}
public class MyClass
{
public void doSomething(SecondClass secondClass)
{
//...
}
}
在蓝图中我有类似下面的内容
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
<bean id="secondClass" class="foo.bar.SecondClass" />
<bean id="myClass" class="foo.bar.MyClass" />
<!-- How do I invoke myClass.doSomething(secondClass) ??? -->
</blueprint>
有人知道如何从Blueprint中调用myClass.doSomething(secondClass)吗?
答案 0 :(得分:3)
如果我理解正确(我自己并不熟悉MethodInvokingFactoryBean)你需要的是一个工厂方法,即。如下所示:
<bean id="myClass" class="foo.bar.MyClass"
factory-method="doSomething">
<argument ref="secondClass"/>
</bean>
您可以在蓝图in this guide(IMO最有用的蓝图资源之一)中找到有关如何使用工厂的更多详细信息。