Search code examples
springjsficefaces

ICEfaces JSF Beans and Spring Beans, what VariableResolver?


I'm trying to understand the best way to use Spring (for dependency injection) with ICEfaces (Spring 3, ICEfaces 1.8.2, JSF RI 1.1). Regarding the Spring reference manual, there are several possibilities to handle EL resolutions of beans:

If I use SpringBeanVariableResolver (which look best at first sight):

  • Beans that are refered in an EL-Expression will be managed by Spring
  • BUT the missing "extended request"-scope of Spring will cause problems, won't it?

If the DelegatingVariableResolver is used:

  • Beans that are refered in an EL-Expression will be managed by JSF
  • I need to define the EL-aware beans in faces-config.xml, which means I'm restraint to the limited options (e.g. no constructor DI).
  • Bean declarations are scattered across different files

Is this correct? Any suggestions? Hints? Best practices?


Solution

  • I ended up in mixing common JSF DI with Spring DI. That means that I inject Spring beans as JSF managed properties.