Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 16064|Resposta: 2

[Fonte] Não é possível injetar @Autowired no Listener

[Copiar link]
Publicado em 04/04/2019 15:23:22 | | | |
Recentemente, ao usar o ouvinte, encontrei o problema de que a mola não podia ser injetada, o código é o seguinte, essa tarefa é sempre nula, o pacote obviamente foi varrido, mas não pode ser injetado.

A razão é a seguinte: o ouvinte Listener não pode injetar o bean usando a @Resource do contêiner Spring ou o método de anotação @Autowired, porque, no contêiner do servidor web,Nem Servlet, nem Filter, nem Listener são gerenciados por contêineres SpringPortanto, não podemos usar diretamente o método de anotação Spring nessas classes para injetar os objetos que precisamos。 Aqui, todo o ciclo de vida do servlet é tratado pelo recipiente do servlet. Se você o colocar em um recipiente Spring para criá-lo, o objeto servlet pode ser criado pelo recipiente Spring, mas o recipiente servlet pode não saber que o servlet existe porque ele não está em seu próprio recipiente. Portanto, o servlet é gerenciado pelo servidor web, não pela primavera.

Faça as seguintes modificações:

Tirado do contexto da primavera, resolveu o problema perfeitamente.


Springboot @Autowired não injeta problemas
https://www.itsvse.com/thread-6397-1-1.html
(Fonte: Architect_Programmer)






Anterior:Como mostrar e esconder elementos usando o Bootstrap4
Próximo:Java annotations@PostConstruct explicações detalhadas e exemplos de @PreDestroy
 Senhorio| Publicado em 04/04/2019 15:54:53 |
Mesmo que você configure o entity listener para @Component, o JPA está usando apenas uma instância da classe, não um bean gerenciado pela Spring. É por isso que você recebe um NullPointerException. O accountHistoryRepo sempre estará vazio.

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

O truque para injetar dependências em beans sem estado é definir dependências como "estáticas", criando um método setter para que o Spring possa injetar dependências (atribuí-las a dependências estáticas).

Declare as dependências como estáticas.



Crie um método para que Spring possa injetar.



Recursos:https://stackoverflow.com/questi ... -jpa-entitylistener
 Senhorio| Publicado em 04/04/2019 16:03:23 |
Minha solução é a seguinte:


Recursos:O login do hiperlink está visível.
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com