2012-01-25 15 views
6

¿Es posible inyectar Spring beans en una clase RestEasy @Path? Logré hacerlo con Jersey, con la anotación @InjectParam, pero por otras razones, tengo que cambiar a RestEasy, y parece que no puedo encontrar la manera de hacerlo (intenté con la buena ol 'javax.inject.Inject, pero nada).Inyectar beans de primavera en RestEasy

EDITAR

Esta solución funciona: http://www.mkyong.com/webservices/jax-rs/resteasy-spring-integration-example/

pero no es la inyección .. Todavía prefiero algo un poco más elegante.

Respuesta

3

Simplemente anotar su clase RestEasy con @Component de primavera y luego inyectar sus granos usando @Autowired de primavera. No olvide incluir los elementos de anotación-configuración y escaneo de componentes en su configuración de primavera.

+1

Probado con 3.0.4.Final, después de ResteasyDoc simplemente no funciona. Utilizar ** SpringBeanAutowiringSupport ** fue la única forma en que pude hacerlo funcionar. – tonio

0

Estoy totalmente de acuerdo con la respuesta de Peter, pero hay otra forma de hacerlo: usted hace que todos sus beans de exposición (RESTEasy o JAX-WS, que no son componentes de Spring) extiendan el SpringBeanAutowiringSupport.

De esta manera puede inyectar fácilmente sus servicios de Spring por @Autowired anotación en estas clases.

Cuestiones relacionadas