Web应用环境在春天的优势?

时间:2011-09-04 16:55:01

标签: spring struts

我需要用spring整合struts。基本上我想在我的动作类中从Spring容器中获取bean。如果我想在我的动作类中获得任何dao / helper类,我应该用Spring获取它。我正在阅读一本书,上面写着使用WebApplicationContext在我的动作类中获取bean。

我的问题是我们在操作类中使用简单的XMLBeanFactory或ClassPathXmlApplicationContext(使用getBeanMethod)而不是WebApplicationContext。 (因为WebApplicationContext只有一个额外的方法,即getServletContext(),在获取任何模型Bean的过程中我们不需要它。)

我在同一个应用程序中的第二个问题是,如果我们想要在businesshelper.java中获取任何其他bean,我应该使用WebApplicationContext或ApplicationContext的任何其他子类(如ClassPathXmlApplicationContext)

1 个答案:

答案 0 :(得分:0)

如果您在Web应用程序中使用Spring,WebApplicationContext绝对是一种方法。它不仅可以为您处理启动和关闭,还可以很好地与servlet环境集成。即它会自动在org.springframework.web.context.WebApplicationContext.ROOT键下的ServletContext中注册。

我之所以提到这一点,是因为Struts可能会使用它来定位应用程序的Web应用程序上下文。否则Struts会怎么知道这个?

关于你的第二个问题:真的去WebApplicationContext。然后,您可以(作为最后的手段)使用WebApplicationContextUtils.getRequiredWebApplicationContext()来获取bean。

ClassPathXmlApplicationContext可能仅在进行桌面开发或沙箱/教程项目时有用。