这是我的JSF和spring集成:
我添加
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
web.xml
中的,以便在应用程序启动时初始化/WEB-INF/applicationContext.xml
中指定的Spring bean并将其放入ServletContext
。
然后我使用
获得春豆FacesContextUtils.getWebApplicationContext(FacesContext.getCurrentInstance()).getBean("XXXXBean");
它需要FacesContext
导致它无法轻松进行单元测试,无法在Web容器外部使用。我可以在不指定FacesContext
的情况下从spring语境中获取spring bean吗?
答案 0 :(得分:1)
如果您使用弹簧测试,请查看this。您也可以通过ApplicationContext.getBean()
从春季上下文中获取bean。您可以在@Before
方法或测试中的@BeforeClass
方法中构建此上下文。上下文可以从各种来源构建 - 外部xml文件,类路径资源和其他(在上面的javadoc中读取“所有已知的实现类”部分)。