Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 16064|Відповідь: 2

[Джерело] Не можу ввести @Autowired у Listener

[Копіювати посилання]
Опубліковано 04.04.2019 15:23:22 | | | |
Нещодавно, коли я користувався слухачем, я зіткнувся з проблемою, що пружину не вдалося впровадити, код такий: це завдання завжди нуль, пакет очевидно змитий, але його не можна впровадити.

Причина наступна: слухач Listener не може ін'єктувати зерно, використовуючи @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 bean. Ось чому ти отримуєш NullPointerException. АкаунтHistoryRepo завжди буде порожнім.

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

Лайфхак для впровадження залежностей у безстанні боби полягає у визначенні залежностей як «статичних», створюючи метод setter, щоб Spring міг впроваджувати залежності (призначати їх статичним залежностям).

Оголошуйте залежності статичними.



Створіть метод, щоб Spring могла його вводити.



Ресурси:https://stackoverflow.com/questi ... -jpa-entitylistener
 Орендодавець| Опубліковано 04.04.2019 16:03:23 |
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com