1

我在使用工厂时看到了一个关于蓝图的示例。在示例中,他们对下面示例中的“2”之类的参数值进行硬编码。

 public class StaticAccountFactory {      
   public static Account createAccount(long number) {
   return new Account(number);
   }
 }
...

<bean id="accountTwo"
 class="org.apache.aries.simple.StaticAccountFactory" 
 factory-method="createAccount">   
   <argument **value="2"**/>

我的问题是如何从想要使用这个 bean 的客户端包发送这个值?以及如何从该 bean 为该提议创建服务?如果那个工厂需要一个 bundle 对象作为参数而不是简单的值,那么客户端 bundle 如何将自身的 bundle 传递给这个工厂?

在此先感谢,阿努拉克

4

2 回答 2

1
  <bean id="combinedClassLoader" class="my.package.hazelcast.CombinedClassLoader" init-method="init" destroy-method="destroy"/>

  <bean id="hazelcastClient" class="my.package.hazelcast.HazelcastInstanceFactory" factory-method="create">
    <argument value="123"/>
    <argument ref="combinedClassLoader"/>
  </bean>
于 2015-06-25T10:38:18.067 回答
0

您只需使用与上述类似但非静态的方法创建一个工厂类,并将其公开为服务。或者您只是让客户端使用静态方法。

于 2014-09-15T07:02:14.240 回答