定义Spring请求范围bean

时间:2011-05-05 08:55:43

标签: java spring

使用spring 请求范围 bean这个定义是否正确?

<bean id="shoppingCart" class="ShoppingCart" scope="request">
<!-- This requires CGLIB --> 
<aop:scoped-proxy/>
</bean> 

我从会话范围 bean示例中对此进行了修改,并仅更改了范围定义,不确定代理事项

我从这个链接中获取了这个例子,你可以看到完整的xml:

http://wheelersoftware.com/articles/spring-session-scoped-beans-2.html

1 个答案:

答案 0 :(得分:6)

一般来说 - 是的,这是正确的。

如果对于每个请求您直接从BeanFactory检索请求范围的bean,那么您不需要代理。

但是如果你要使用请求soped bean作为singleton scoped bean的依赖性,你需要代理,例如:

@Controller
public class MyController {

    @Autowired
    private ShoppingCart shoppingCart;
}

有关范围bean的更多详细信息,请参阅此reference页面。

作为旁注,我建议尽可能使用标准的基于JDK接口的poxies而不是CGLIB。有关使用spring进行代理的更多信息,请参阅documentation