Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 16064|Απάντηση: 2

[Πηγή] Δεν είναι δυνατή η ένεση @Autowired στον ακροατή

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 4/4/2019 3:23:22 μ.μ. | | | |
Πρόσφατα, όταν χρησιμοποιούσα τον ακροατή, αντιμετώπισα το πρόβλημα ότι δεν ήταν δυνατή η έγχυση ελατηρίου, ο κώδικας είναι ο εξής, αυτή η εργασία είναι πάντα μηδενική, το πακέτο προφανώς έχει σκουπιστεί, αλλά δεν μπορεί να εγχυθεί.

Ο λόγος είναι ο εξής: ο ακροατής Listener δεν μπορεί να εγχύσει το φασόλι χρησιμοποιώντας το @Resource του δοχείου Spring ή τη μέθοδο @Autowired σχολιασμού, επειδή, στο κοντέινερ του διακομιστή ιστού,Ούτε το Servlet, ούτε το Filter, ούτε το Listener διαχειρίζονται από κοντέινερ SpringΕπομένως, δεν μπορούμε να χρησιμοποιήσουμε απευθείας τη μέθοδο σχολιασμού Spring σε αυτές τις για να εισάγουμε τα αντικείμενα που χρειαζόμαστε。 Εδώ, ολόκληρος ο κύκλος ζωής του servlet χειρίζεται το δοχείο servlet. Εάν το τοποθετήσετε σε ένα κοντέινερ Spring για να το δημιουργήσετε, το αντικείμενο servlet μπορεί να δημιουργηθεί από το κοντέινερ Spring, αλλά το κοντέινερ servlet μπορεί να μην γνωρίζει ότι το servlet υπάρχει επειδή δεν βρίσκεται στο δικό του κοντέινερ. Επομένως, η διαχείριση του servlet γίνεται από τον διακομιστή ιστού και όχι από την άνοιξη.

Κάντε τις ακόλουθες τροποποιήσεις:

Βγαλμένο από το πλαίσιο της άνοιξης, έλυσε τέλεια το πρόβλημα.


Το Springboot @Autowired αποτυγχάνει να εισάγει προβλήματα
https://www.itsvse.com/thread-6397-1-1.html
(Πηγή: Architect_Programmer)






Προηγούμενος:Πώς να εμφανίσετε και να αποκρύψετε στοιχεία χρησιμοποιώντας το Bootstrap4
Επόμενος:Java annotations@PostConstruct και λεπτομερείς επεξηγήσεις και παραδείγματα @PreDestroy
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 4/4/2019 3:54:53 μ.μ. |
Ακόμα κι αν ορίσετε τον ακροατή οντότητας σε @Component, το JPA χρησιμοποιεί στην πραγματικότητα μόνο ένα στιγμιότυπο της κλάσης, όχι ένα φασόλι που διαχειρίζεται το Spring. Γι' αυτό λαμβάνετε ένα NullPointerException. Το accountHistoryRepo θα είναι πάντα κενό.

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

Το hack για την έγχυση εξαρτήσεων σε φασόλια χωρίς κατάσταση είναι να ορίσετε τις εξαρτήσεις ως "στατικές", δημιουργώντας μια μέθοδο ρύθμισης έτσι ώστε η Spring να μπορεί να εισάγει εξαρτήσεις (να τις αντιστοιχίσει σε στατικές εξαρτήσεις).

Δηλώστε τις εξαρτήσεις ως στατικές.



Δημιουργήστε μια μέθοδο ώστε η Άνοιξη να μπορεί να την εγχύσει.



Πόροι:https://stackoverflow.com/questi ... -jpa-entitylistener
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 4/4/2019 4:03:23 μ.μ. |
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com