在我的Spring应用程序中,
我有一个与我的调度程序servlet相对应的xx-servlet.xml --定义了我的web层bean/类,并导入了另一个context.xml,它定义了所有持久层bean/服务。
在xx-servlet.xml中,
定义了一个实现ApplicationContextProvider接口的ApplicationcontextAware类。
并使用@Component对所有bean(表示对象)进行注释,并在需要时从ApplicationContext (不使用WebApplicationContext)获取这些bean的实例。
那么,在这种情况下,我的bean的范围是什么?
另外,如果我使用WebApplicationContext,会是什么情况?
最好的做法是..。使用ApplicationContext或WebApplicationContext
发布于 2012-10-03 16:30:19
WebApplicationContext将更多范围 (请求、会话、globalSession)添加到标准应用程序上下文(它只提供单例和原型作用域)。如果您不指定bean作用域,默认情况下它将是Singleton作用域。
最佳实践是,如果您在web环境中,您应该使用WebApplicationContext,以便您可以使用那些附加的作用域和ServletContextAware bean。但如果你不使用它们那就取决于你了。
除此之外,大多数spring基础设施bean都需要一个WebApplicationContext。
https://stackoverflow.com/questions/12711848
复制相似问题