spring中WebApplication Context的优势?
我需要将 struts 与 spring 集成。基本上,我想从我的操作类中的 Spring 容器获取 bean。就像如果我想在我的操作类中获取任何 dao/helper 类,我应该使用 Spring 获取它。我正在阅读一本书,其中介绍了如何使用 WebApplicationContext 在我的操作类中获取 bean。
我的问题是我们不能在我的操作类中使用简单的 XMLBeanFactory 或 ClassPathXmlApplicationContext(带有 getBeanMethod)而不是 WebApplicationContext。 (因为 WebApplicationContext 只有一个额外的方法,即 getServletContext(),我们在获取任何模型 Bean 的过程中不需要它)。
我在同一个应用程序中的第二个问题是,如果我们还想在我的businesshelper.java中获取任何其他bean,我应该使用WebApplicationContext或ApplicationContext的任何其他子类(如ClassPathXmlApplicationContext)来获取它
I need to integerate struts with spring.Basically i want to get the bean from Spring containerin my action class.Like if i want to get any dao/helper class in my action class i should get it with Spring. I was going through a book which says the use of WebApplicationContext to get the bean in my action class.
My question is cant we use simple XMLBeanFactory or ClassPathXmlApplicationContext(with getBeanMethod) in my action class instead of WebApplicationContext. (As WebApplicationContext has just one extra method i.e getServletContext() which we dont need in the process of getting any model Bean).
My second question in the same application is if we further want to get any other bean in my businesshelper.java should i get it with WebApplicationContext or any other sublclass of ApplicationContext(like ClassPathXmlApplicationContext)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您在 Web 应用程序中使用 Spring,
WebApplicationContext
绝对是一个不错的选择。它不仅为您处理启动和关闭,而且还与 servlet 环境很好地集成。即它会自动在 org.springframework.web.context.WebApplicationContext.ROOT 键下的 ServletContext 中注册自身。我提到这一点是因为 Struts 可能使用它来定位应用程序的 Web 应用程序上下文。否则Struts怎么会知道这一点呢?
关于你的第二个问题:真正选择
WebApplicationContext
。然后,您可以(作为最后的手段)使用 WebApplicationContextUtils.getRequiredWebApplicationContext() 来获取 bean。ClassPathXmlApplicationContext
可能仅在进行桌面开发或沙箱/教程项目时有用。If you are using Spring in web application,
WebApplicationContext
is definitely a way to go. Not only it handles startup and shutdown for you, but it also nicely integrates with servlet environment. I.e. it automatically register itself in ServletContext underorg.springframework.web.context.WebApplicationContext.ROOT
key.I am mentioning this because Struts probably uses this to locate web application context of your application. Otherwise how would Struts know this?
Regarding your second question: really go for
WebApplicationContext
. You can then (as a last resort) useWebApplicationContextUtils.getRequiredWebApplicationContext()
to fetch beans.ClassPathXmlApplicationContext
is probably only useful when doing desktop development or in sandbox/tutorial projects.