2013-01-11 27 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所說的,我也不知道。這正是我所需要的。感謝 –

相關問題