2013-01-11 28 views
1

我想知道如何正确地将原型bean注入到Web应用程序中的单例Bean中。考虑这个例子:spring:需要在Web环境中使用原型bean的示例

<bean id="order" class="com.foo.Order" scope="prototype"/> 

<bean id="orderService" class="com.foo.OrderService"> 
    <property name="userPreferences" ref="userPreferences"/> 
</bean> 

我想过使用getBean(),但不是一种使我的代码依赖于自身的方式吗?

我需要一个简短的java代码示例来演示如何在我的OrderService单例中注入一个订单bean。

感谢

回答

3

您可以使用JSR-330 Providers,只是把:

@Autowired 
Provider<Order> orderProvider; 

在你的单身豆,然后使用供应商:

public Whatever yourMethod() { 
    Order order = orderProvider.get(); 
} 
+1

+1提'提供商':D可悲的是很多人不知道他们 –

+2

@RalfHoppen我最近发现他们(比如两天前),发现他们很干净。 – soulcheck

+1

就像@RalfHoppen所说的,我也不知道。这正是我所需要的。感谢 –

相关问题