Estoy tratando de @javax.naming.Inject
un Spring 3 Bean llamado WtvrBean
en un JSF 2 @FacesConverter
.Cómo inyectar un Bean Spring 3 en un convertidor JSF 2
Tanto el Bean como el convertidor están en el mismo paquete. Y, en applicationContext.xml de mi primavera, estoy escaneando este paquete:
<context:component-scan base-package="my-package" />
Pero esto no está funcionando. Por supuesto, la clase interna JSF 2 que usa el convertidor es definitivamente no en my-package
.
Por ejemplo, si se quita la @ManagedBean
de una JSF 2 ManagedBean, y reemplazar a @org.springframework.stereotype.Component
o @Controller
, la WtvrBean
puede ser @Inject
ed en este ManagedBean, mediante el uso del resorte WebFlow.
Bueno, hasta donde yo sé, no existe el estereotipo @Converter
en Spring.
Sé que puedo utilizar
FacesContextUtils.getWebApplicationContext(context).getBean("WtvrBean")
Pero, con este enfoque, el acoplamiento entre la aplicación web y el resorte es cada vez más estrecho. (las anotaciones son metadatos, y algunos autores ni siquiera las consideran dependientes).
Estoy usando FacesContextUtils
hasta ahora, si no hay una solución mejor.
¿Alguna idea?
Hola. No quiero que mi convertidor sea elegible para inyección. Hay un Bean llamado WtvrBean, y quiero que el bean se inyecte en el convertidor. Echaré un vistazo a aspectj. – bluefoot
@bluefoot lo siento, eso es lo que quise decir - no es posible inyectar otros frijoles en él. – Bozho
@bluefoot - uy, olvidé que realmente había hecho esto ... ver mi actualización – Bozho