在Spring 3中,如何在控制器中使用原型范围?

时间:2013-11-22 08:26:41

标签: spring

在Spring 3中,如何在控制器中使用原型范围?因为控制器是单身,因此我无法使用原型范围。你能否建议一种方法来做到这一点

2 个答案:

答案 0 :(得分:0)

在您的控制器上添加@Scope("prototype")

@Scope("prototype")
public class controller{
}

您可以阅读此内容,以便在控制器

中代理您的bean

http://docs.spring.io/spring/docs/current/spring-framework-reference/html/beans.html#beans-factory-scopes-other-injection

  

这里的重点是userManager bean是一个单例:它   每个容器及其依赖项将被实例化一次   (在这种情况下只有一个,userPreferences bean)也被注入   只有一次。这意味着userManager bean只能运行   完全相同的userPreferences对象,即它就是那个对象   最初注入。

答案 1 :(得分:-1)

在需要原型的对象上指定“prototype”范围:

@Controller
public class Controller{

    @Inject
    public void setTask(Task task) { ... }

}

@Scope("prototype")
public class Task {

}