Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 16064|Respuesta: 2

[Fuente] No se puede inyectar @Autowired en Listener

[Copiar enlace]
Publicado en 4/4/2019 15:23:22 | | | |
Recientemente, al usar el listener, me encontré con el problema de que el resorte no podía ser inyectado, el código es el siguiente, esta tarea siempre es nula, el paquete obviamente ha sido barrido, pero no puede ser inyectado.

La razón es la siguiente: el oyente Listener no puede inyectar el bean usando el @Resource del contenedor Spring ni el método de anotación de @Autowired, porque, en el contenedor del servidor web,Ni Servlet, ni Filter, ni Listener son gestionados por contenedores SpringPor lo tanto, no podemos usar directamente el método de anotación Spring en estas clases para inyectar los objetos que necesitamos。 Aquí, todo el ciclo de vida del servlet es gestionado por el contenedor del servlet. Si lo pones en un contenedor Spring para crearlo, el objeto servlet puede ser creado por el contenedor Spring, pero el contenedor servlet puede no saber que el servlet existe porque no está en su propio contenedor. Por lo tanto, el servlet es gestionado por el servidor web, no por la primavera.

Realiza las siguientes modificaciones:

Visto en el contexto de la primavera, resolvió el problema a la perfección.


Springboot @Autowired no inyecta problemas
https://www.itsvse.com/thread-6397-1-1.html
(Fuente: Architect_Programmer)






Anterior:Cómo mostrar y ocultar elementos usando Bootstrap4
Próximo:Java annotations@PostConstruct explicaciones detalladas y ejemplos de @PreDestroy
 Propietario| Publicado en 4/4/2019 15:54:53 |
Incluso si configuras el entity listener a @Component, JPA en realidad está usando solo una instancia de la clase, no un bean gestionado por Spring. Por eso tienes una NullPointerException. El accountHistoryRepo siempre estará vacío.

https://stackoverflow.com/questi ... n-using-postpersist

El truco para inyectar dependencias en los granos sin estado es definir las dependencias como "estáticas", creando un método setter para que Spring pueda inyectar dependencias (asignarlas a dependencias estáticas).

Declara las dependencias como estáticas.



Crea un método para que Spring pueda inyectarlo.



Recursos:https://stackoverflow.com/questi ... -jpa-entitylistener
 Propietario| Publicado en 4/4/2019 16:03:23 |
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com