我需要在代码执行期间“动态”创建对象的原型范围实例。
我知道查找方法是个很好的解决方案:
<!-- a stateful bean deployed as a prototype (non-singleton) -->
<bean id="command" class="fiona.apple.AsyncCommand" scope="prototype">
<!-- inject dependencies here as required -->
</bean>
<!-- commandProcessor uses statefulCommandHelper -->
<bean id="commandManager" class="fiona.apple.CommandManager">
<lookup-method name="createCommand" bean="command"/>
</bean>
我可以将参数设置为createCommand
方法吗?
答案 0 :(得分:2)
我认为你不能,因为容器不知道如何处理该参数。你对它有什么期望呢?查找方法只获取对象的新实例,从容器中获取它。因此它在返回之前注入了所有依赖项。
如果要传递其他参数 - 可以在获取实例后执行此操作。例如:
Foo someParam = ...;
CommandManager manager = createCommand();
manager.doSomething(someParam);