如何使用Spring SimpleThreadScope?

时间:2011-09-30 09:27:36

标签: java spring

Spring 3.0定义了SimpleThreadScope。查看Scope interface的所有已知实现类,我看到:AbstractRequestAttributesScope,PortletContextScope,RequestScope,ServletContextScope,SessionScope,SimpleThreadScope。

第一个观察是我没有看到PrototypeScope,也不明白为什么。

我的问题是,如何使用SimpleThreadScope,因为RequestScope在XML或注释中变成“请求”,所以我尝试使用“simplethread”和“simpleThread”,但它们不起作用。

我收到以下消息:

Caused by: java.lang.IllegalStateException: No Scope registered for scope 'simpleThread'
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)

是否应该仅以编程方式使用SimpleThreadScope,而不是通过XML或注释?以及如何使用它?

1 个答案:

答案 0 :(得分:5)

SimpleThreadScope默认情况下未注册,因此您需要手动注册才能使用它,请参阅3.5.5.2 Using a custom scope

singletonprototype范围没有Scope类,因为它们被硬编码到bean工厂中。