如何在Spring中为单例控制器获取原型bean?

时间:2011-04-04 11:30:04

标签: java spring

我正在使用注释配置,我目前无法使用请求范围用于我的控制器,但我需要一个控制器用作原型的bean。所以我认为最好的方法是通过方法注入为单例控制器获取原型。

但后来我意识到Spring的方法注入需要一个抽象类,所以我不能使用我的注释配置......

可以请任何人告诉我该怎么做?在我看来,这是非常常见的情况,但目前只能通过控制器的“请求范围”来实现。

或者我必须制作我的控制器ApplicationContextAware并从上下文中获取bean。但是annotation-config @Controller可以是ApplicationContextAware吗?

1 个答案:

答案 0 :(得分:1)

您可以简单地@Inject ApplicationContext ctx,但是您需要在子上下文中定义您的其他bean(dispatcher-servlet.xml)(无论如何您都需要)。然后你可以查一查。

目前无法使用注释定义查找方法注入。有一个open issue about that。因此,对于此特定控制器,您可以使用xml配置来定义查找方法。