Pregunta

Me he dado cuenta recientemente de que la primavera puede cablear mis EJB para mí si anoto el EJB con @Interceptors (SpringBeanAutowiringInterceptor.class). En realidad nunca he hecho esto así que no sé los detalles.

Me preguntaba, ¿hay una manera de conseguir esto para trabajar con otros tipos de frijoles, por ejemplo, @WebService anotados queridos también.

En el momento en mis clases de servicios web (debido a que el servidor de aplicaciones de los gestiona) tengo que cargar las dependencias de la BeanFactory, siendo por ello prefieren tener ellos autowired.

Sé que podría utilizar la anotación @Configurable pero no estoy especialmente interesado en tener que especificar y agente en la máquina virtual.

¿Es esto posible?

¿Fue útil?

Solución

Una vez más, la primavera ha pensado en este caso de uso y se ocuparon de él!

El problema es que @WebService no es un primavera anotación, se trata de un JAX-WS de anotación y por lo tanto las clases que están anotados con @WebService a ser expuesto como Web servicios que no son administrados por la primavera, pero su ciclo de vida es gestionado por JAX-WS.

La manera de manejar este caso es tener la JAX-WS bean gestionado extender org.springframework.web.context.support.SpringBeanAutowiringSupport - esto permitirá la anotación @Autowire, por ejemplo, para trabajar en este bean. ver aquí para más información

Otros consejos

Sí, por supuesto. Hay @WebService, @Repository, @Controller, @Service, @Endpoint, y otras anotaciones en la primavera. He aquí un ejemplo .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top