如何在 Apache Blueprint 中调用 bean 方法?

How to invoke a bean method in Apache Blueprint?

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

有人知道如何从蓝图中调用 myClass.doSomething(secondClass) 吗?

如果我理解正确(我自己对 MethodInvokingFactoryBean 不是很熟悉),您需要的是工厂方法,即。类似于以下内容:

   <bean id="myClass" class="foo.bar.MyClass" 
         factory-method="doSomething">   
       <argument ref="secondClass"/>    
   </bean>

您可以找到有关如何使用带有蓝图的工厂的更多详细信息in this guide(IMO 最有用的蓝图资源之一)