Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 16064|Ответ: 2

[Источник] Невозможно ввести @Autowired в Listener

[Скопировать ссылку]
Опубликовано 04.04.2019 15:23:22 | | | |
Недавно, используя слушатель, я столкнулся с проблемой, что пружина не удаётся внедрить, код таков: эта задача всегда нулевая, пакет явно был убран, но его нельзя внедрить.

Причина следующая: слушатель слушателя не может внедрить bean с помощью @Resource контейнера Spring или метода @Autowired аннотации, потому что в контейнере веб-сервера,Ни Servlet, ни Filter, ни Listener не управляются контейнерами SpringПоэтому мы не можем напрямую использовать метод аннотации Spring в этих классах для введения нужных нам объектов。 Здесь весь жизненный цикл сервлета обрабатывается контейнером сервлета. Если вы поместите его в контейнер Spring, объект сервлета может быть создан контейнером Spring, но контейнер сервлета может не знать о существовании сервлета, потому что он не находится в отдельном контейнере. Таким образом, сервлет управляется веб-сервером, а не пружиной.

Внесите следующие изменения:

Если взять из контекста весны, это решило проблему идеально.


Springboot @Autowired не создаёт проблем
https://www.itsvse.com/thread-6397-1-1.html
(Источник: Architect_Programmer)






Предыдущий:Как показывать и скрывать элементы с помощью Bootstrap4
Следующий:Java annotations@PostConstruct и подробные объяснения и примеры @PreDestroy
 Хозяин| Опубликовано 04.04.2019 15:54:53 |
Даже если установить слушатель сущности на @Component, JPA на самом деле использует только экземпляр класса, а не управляемый Spring. Вот почему вы получаете NullPointerException. АккаунтHistoryRepo всегда будет пустым.

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

Хитрость для внедрения зависимостей в безсостоятельные бобы заключается в определении зависимости как «статических», создавая метод установки, чтобы Spring мог инжектировать зависимости (назначать их статическим зависимостям).

Объявить зависимости как статичные.



Создайте метод, чтобы Spring мог вводить его.



Ресурсы:https://stackoverflow.com/questi ... -jpa-entitylistener
 Хозяин| Опубликовано 04.04.2019 16:03:23 |
Моё решение такое:


Ресурсы:Вход по гиперссылке виден.
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com