2011-10-10 62 views
2

这是我的JSF和Spring的集成:Servlet和Spring集成

我在添加

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 

web.xml使得在/WEB-INF/applicationContext.xml指定的春天豆将在ServletContext被初始化,并把当应用程序启动。

然后我使用

FacesContextUtils.getWebApplicationContext(FacesContext.getCurrentInstance()).getBean("XXXXBean"); 

它要求,导致它不能被单元容易地测试,并且不能Web容器外部使用的FacesContext得到弹簧豆。我可以在没有指定FacesContext的情况下从Spring上下文中获取Spring Bean吗?

回答

1

如果您使用弹簧测试,然后看看this。你也可以通过ApplicationContext.getBean()从春天获得豆类。您可以在测试中使用@Before方法或@BeforeClass方法构建此上下文。上下文可以从各种来源构建 - 外部xml文件,类路径资源和其他(在上面的javadoc中阅读“所有已知实现类”一节)。