2010-12-15 13 views
6

Para utilizar la anotación @Autowire, el objeto donde usa la anotación debe provenir del contexto de primavera.Cómo usar @autowire en beans administrados jsf

Los beans administrados JSF son creados por IOC no JSF no Springs, por lo tanto no puedo usar @Autowire dentro de ellos debe usar faces-config.xml y propiedades administradas.

Ya configuré un solucionador EL que permite tener beans de primavera como propiedades administradas, quiero dar un paso más y deshacerme de la necesidad de entrar al faces-config.xml cada vez que tengo que autoconectar algo . es posible?

Respuesta

11

Sólo anotaciones en los beans gestionados con @Controller (o @Component), y @Scope("request") (o session) y añadir <context:component-scan> (si no lo ha hecho), y beans gestionados automáticamente se detectan como granos de primavera. Y como ya está usando ELResolver, debería ser así - debería poder usar @Autowired (o mejor - @Inject, si usa el resorte 3.0).

+0

¿Quiere decir que la haga quitar los granos gestionados de faces-config.xml por completo? – mkoryak

+0

@mkoryak - sí. – Bozho

+1

@Bozho ¿qué pasa con JSF 2 el nuevo alcance de la vista es realmente útil ¿viene la primavera con ese alcance para los frijoles? – Necronet

3

Puede utilizar @ManagedProperty (# { 'someBean'}) para Autowire otros granos de frijol JSF

Cuestiones relacionadas