1

我想知道如何正确地将原型 bean 注入 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() 但这不是让我的代码依赖于 spring 本身的方法吗?

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

谢谢

4

1 回答 1

3

您可以使用 jsr-330 Providers,只需输入:

@Autowired
Provider<Order> orderProvider;

在你的单例 bean 中,然后使用提供者:

public Whatever yourMethod() {
     Order order = orderProvider.get();
}
于 2013-01-11T16:10:55.033 回答