使用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
答案 0 :(得分:6)
一般来说 - 是的,这是正确的。
如果对于每个请求您直接从BeanFactory
检索请求范围的bean,那么您不需要代理。
但是如果你要使用请求soped bean作为singleton scoped bean的依赖性,你需要代理,例如:
@Controller
public class MyController {
@Autowired
private ShoppingCart shoppingCart;
}
有关范围bean的更多详细信息,请参阅此reference页面。
作为旁注,我建议尽可能使用标准的基于JDK接口的poxies而不是CGLIB。有关使用spring进行代理的更多信息,请参阅documentation。