2011-10-10 113 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中閱讀「所有已知實現類」一節)。